首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印轮廓opencv内的所有坐标

如何打印轮廓opencv内的所有坐标
EN

Stack Overflow用户
提问于 2013-06-07 10:52:13
回答 4查看 15.1K关注 0票数 4

我正在处理图像轮廓检测。我可以很容易地打印轮廓坐标,但我感兴趣的是打印轮廓内所有像素的坐标。例如,如果我得到一个4 x 4像素的轮廓,我想打印的不仅是轮廓,还包括它包含在opencv中的像素的所有坐标

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-06-20 22:43:47

1-使用findContours提取图像的轮廓。(将图像转换为灰度,在此之前应用二进制阈值和精明的边缘检测,以获得更好的效果。)

2-选择轮廓(按面积、形状、力矩等过滤)

3-对所有点使用pointPolygonTest,检查并保存这些点是否在指定的等高线内。

票数 6
EN

Stack Overflow用户

发布于 2013-06-07 18:24:09

我不知道你想做什么:

  • 绘制填充等高线
  • 获取等高线及其内部所有点的坐标

如果您只对绘图感兴趣,只需使用drawContour函数并将参数thickness设置为-1即可。它将绘制轮廓和其中的所有点。

我不确定在opencv中是否有可能只是让所有的点都位于某个轮廓内-你可以自己写这个,或者只是绘制填充的轮廓并从图像中获得所有非黑点(只需使用简单的循环)。这不是非常有效的解决方案,但应该可以很好地工作。

票数 3
EN

Stack Overflow用户

发布于 2013-06-07 12:52:07

简单的方法(假设没有OpenCV函数来直接完成)将是找到边界矩形,然后光栅扫描矩形,跟踪缠绕数(或者使用pointPolygonTest,如果效率不是问题)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16975509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档