从向量创建Mat

2023-11-27

我对计算机视觉和 opencv 库非常陌生。

我已经进行了一些谷歌搜索,试图找到如何从 Point2fs 向量制作新图像,但没有找到任何有效的示例。我见过vector<Point> to Mat但当我使用这些例子时,我总是会出错。

我的工作时间是从this示例和任何帮助将不胜感激。

代码:我通过被遮挡的广场。

   resize(occludedSquare, occludedSquare, Size(0, 0), 0.5, 0.5);

   Mat occludedSquare8u;
   cvtColor(occludedSquare, occludedSquare8u, CV_BGR2GRAY);

   //convert to a binary image. pixel values greater than 200 turn to white. otherwize black
   Mat thresh;
   threshold(occludedSquare8u, thresh, 170.0, 255.0, THRESH_BINARY);



   GaussianBlur(thresh, thresh, Size(7, 7), 2.0, 2.0);

   //Do edge detection
   Mat edges;
   Canny(thresh, edges, 45.0, 160.0, 3);

   //Do straight line detection
   vector<Vec2f> lines;
   HoughLines( edges, lines, 1.5, CV_PI/180, 50, 0, 0 );

   //imshow("thresholded", edges);


   cout << "Detected " << lines.size() << " lines." << endl;

   // compute the intersection from the lines detected...
   vector<Point2f> intersections;
   for( size_t i = 0; i < lines.size(); i++ )
   {
       for(size_t j = 0; j < lines.size(); j++)
       {
           Vec2f line1 = lines[i];
           Vec2f line2 = lines[j];
           if(acceptLinePair(line1, line2, CV_PI / 32))
           {
               Point2f intersection = computeIntersect(line1, line2);
               intersections.push_back(intersection);
           }
       }

   }

   if(intersections.size() > 0)
   {
       vector<Point2f>::iterator i;
       for(i = intersections.begin(); i != intersections.end(); ++i)
       {
           cout << "Intersection is " << i->x << ", " << i->y << endl;
           circle(occludedSquare8u, *i, 1, Scalar(0, 255, 0), 3);
       }
   }

//Make new matrix bounded by the intersections
...
imshow("localized", localized);

应该像这样简单

std::vector<cv::Point2f> points;
cv::Mat image(points);
//or
cv::Mat image = cv::Mat(points) 

可能令人困惑的是 cv::Mat 是一个图像width*height*number通道,但它也是一个数学矩阵,rows*columns*other dimension.

如果您从“n”个 2D 点的向量制作 Mat,它将创建一个 2 列乘“n”行的矩阵。您将其传递给需要图像的函数。

如果您只有一组分散的 2D 点并希望将它们显示为图像,您需要制作一个足够大的空 cv::Mat (无论您的最大 x,y 点是多少),然后使用绘图绘制点功能http://docs.opencv.org/doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.html

如果您只想设置这些点坐标处的像素值,请搜索 SO for opencv 设置像素值,有很多答案

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从向量创建Mat 的相关文章

随机推荐

  • 使用分治法从给定列表中查找第二小的数字

    我正在努力解决这个问题 给定一个包含 n 个数字的列表 我们希望找到最小的和第二小的 列表中的数字 描述一个分而治之的算法来解决这个问题 假设整数 k 为 n 2 k 使用您的算法的比较次数应该 即使在最坏的情况下 也不会超过 3n 2 2
  • WinForms - 哪种是保存某些数据最简单的方法?

    刚刚构建我的第一个 WinForms 应用程序 问题 在使用应用程序之间保存一些数据的最简单 最佳方法是什么 例如 在本例中包含状态和日期 时间的 URL 列表 我认为不需要数据库 例如 仅仅存储到文本文件是最简单的吗 或者在 DotNet
  • UseWindowsAzureActiveDirectoryBearerAuthentication 如何验证令牌?

    我按照下面的 GitHub 示例来实现跨 WebApp 和 WebApi 的身份验证机制 https github com AzureADSamples WebApp WebAPI OpenIDConnect DotNet 我正在为 Web
  • Angular 圆形模块导入

    我有两个模块 其组件相互使用 所以我必须在 test 中导入 word 在 word 中导入 test gt 抛出错误 我该怎么办 模块 测试 NgModule declarations AppTest1Component AppTest2
  • Websphere 所有日志都将转到 SystemOut.log

    我在我的应用程序中使用 Log4j 并有一些用于调试和错误的附加程序 我在tomcat上测试过 工作正常 在各自的文件中生成所有日志 但是当我在 WAS6 1 上部署代码时 所有日志仅在 SystemOut log 内生成 请帮忙 问题可能
  • VS 11 Beta 无法启动进程,因为尚未提供文件名

    这是我构建测试项目时得到的结果 这样我就无法运行我的测试 因为 VS 没有发现它们 查看留言 Unexpected error detected Check the Tests Output Pane for details 在窗口底部 现
  • 我怎样才能让 gitbash 找到 javac 命令?

    我创建了我的 git 存储库并提交了它 插入一个java文件并想要编译它 但它给了我这个 Bernard BERNARD PC c users bernard desktop git2 master javac TestGUI java s
  • Clang 链接器问题(从源代码到 gcc-snapshot)

    我似乎无法让它发挥作用 我配置了 with gcc toolchain 在 equals 之后我把 gcc 所在的目录 usr lib gcc snapshot bin 我还查看了 clang 链接器问题 但我不知道如何获得接受的答案来找到
  • Volley Android 网络库

    关于在我的项目中使用 Volley 我有几个问题 这个库可以在任何 Java 项目中使用还是只能在 Android 项目中使用 我看到多个分支here并且没有关于从哪个分支开始的文档 我应该从哪个分支开始 您如何将该库集成到您自己的项目中
  • Typescript:Promise 的子类/扩展:不引用 Promise 兼容的构造函数值

    我正在尝试取消我的asyncTypescript 中的方法调用 为此 我创建了一个新的 Promise 类型 它继承自Promise class CancelablePromise
  • 考虑每行上所有可能的排列,查找元胞数组的唯一行

    我有元胞数组A维度的m k 我想保留行A unique 最多为 k 个单元格 棘手 的部分是 最多为 k 个单元格 考虑k细胞中的i第 行A A i 可能会有一排j of A A j 这相当于A i 直到重新排序k细胞 这意味着例如如果k
  • git-创建一个分支,稍后将推送到远程

    我有一个脚本 它会自动创建一个新分支 其名称基于外部信息 JIRA 票证 在提交并推送一些代码之前我不想创建远程分支 但我不想必须执行 git push set upstream origin 换句话说 我想在推送之前设置上游 git ch
  • 如何加密密码以便稍后将其保存在数据库或文本文件中?

    我希望我的应用程序将加密的密码保存在数据库或文本文件中 假设任何人都可以打开数据库或文本文件 我该如何做到这一点 复制 加密 散列数据库中的纯文本密码 不重复我要求提供特定于 NET 的代码 编辑 我正在保存密码以供以后使用 我需要对其进行
  • 创建单个 python 可执行模块

    伙计们 我在模块中有很多 python 代码 这些代码驻留在多个 python 包中 现在我需要创建单个 python 可执行模块或文件 其中将包含所有这些文件 因此它将在 Windows 和 Linux 服务器上运行 有哪些可能的解决方案
  • 用默认值初始化字段是多余的

    我真的可以信任 NET 来初始化字段 如整数 结构等 吗 如果我仍然想初始化这些字段怎么办 会产生什么影响 The C 规范第 305 页上的说明 17 4 4 字段的初始值 无论是静态字段还是实例字段 都是该字段的默认值 第 12 2 节
  • GWT 日志记录设置

    我正在使用 GWT 2 1 java util logging仿真记录客户端消息 根据文档 提供了两个适用于客户端日志记录的格式化程序 TextFormatter 和 HTMLFormatter 任何人都可以提供有关如何设置格式化程序并将其
  • 我正在尝试复制文件,但收到错误消息

    我是 postgres 的新手 可能缺少一些愚蠢的东西 例如 我的目录的正确名称 有人可以指导我吗 我正在遵循 Anthony DeBarros 的 实用 SQL 一书的说明 Code copy us counties 2010 from
  • easy_install-2.7 的问题

    安装 easy install 并尝试使用它来安装 python 包后 它失败了 root server easy install 2 7 pip Searching for pip Reading http pypi python org
  • android 设置特定时间通知

    我意识到这个问题以前已经被问过 但我对这个问题一筹莫展 我有一个警报管理器来设置通知 public void to reminder View view Intent intent new Intent this Notification
  • 从向量创建Mat

    我对计算机视觉和 opencv 库非常陌生 我已经进行了一些谷歌搜索 试图找到如何从 Point2fs 向量制作新图像 但没有找到任何有效的示例 我见过vector