如何读取多边形区域内的像素值
1、有几个方法:1,将轮廓数据通过drawContours画到一张图像上,遍历图像,逐一判断点是否在多边形内。使用pointPolygonTest函数。
2、2,将轮廓数据通过drawContours(参数中要选择填充模式,颜色白色)画到一张黑色图片上,填充颜色为白色,使用countNonZero找到图片中的非零像素数。
3、注意边界条件,可能最后的结果需要减去轮廓长度(如果轮廓和内部颜色一致的话,我理解的轮廓边缘的点不算轮廓内)。
4、PS:DrawContours:在图像上绘制外部和内部轮廓,函数DrawContours用于在图像上绘制外部和内部轮廓。当thickn髫潋啜缅ess >= 0 时,绘制轮廓线;否则填充由轮廓包围的部分。
5、多边形区域一般是放在c箪滹埘麽vseq里的,cvseq可以转为cvpoint类型,包含组成多边形的每个像素点的位置,你也可以根据每个像素点的位置判断图像像素位置是否在多边形内,然后再读取。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:56
阅读量:77
阅读量:90
阅读量:68
阅读量:42