我正在处理图像轮廓检测。我可以很容易地打印轮廓坐标,但我感兴趣的是打印轮廓内所有像素的坐标。例如,如果我得到一个4 x 4像素的轮廓,我想打印的不仅是轮廓,还包括它包含在opencv中的像素的所有坐标
发布于 2013-06-20 22:43:47
1-使用findContours提取图像的轮廓。(将图像转换为灰度,在此之前应用二进制阈值和精明的边缘检测,以获得更好的效果。)
2-选择轮廓(按面积、形状、力矩等过滤)
3-对所有点使用pointPolygonTest,检查并保存这些点是否在指定的等高线内。
发布于 2013-06-07 18:24:09
我不知道你想做什么:
如果您只对绘图感兴趣,只需使用drawContour函数并将参数thickness设置为-1即可。它将绘制轮廓和其中的所有点。
我不确定在opencv中是否有可能只是让所有的点都位于某个轮廓内-你可以自己写这个,或者只是绘制填充的轮廓并从图像中获得所有非黑点(只需使用简单的循环)。这不是非常有效的解决方案,但应该可以很好地工作。
发布于 2013-06-07 12:52:07
简单的方法(假设没有OpenCV函数来直接完成)将是找到边界矩形,然后光栅扫描矩形,跟踪缠绕数(或者使用pointPolygonTest,如果效率不是问题)。
https://stackoverflow.com/questions/16975509
复制相似问题