将白色像素区域合并为单个区域opencv c ++
Posted
技术标签:
【中文标题】将白色像素区域合并为单个区域opencv c ++【英文标题】:unite white pixels region into a single region opencv c++ 【发布时间】:2011-12-14 11:06:01 【问题描述】:我正在使用 opencv,我需要从许多区域开始获取单个白色像素区域,如图所示:
我想要得到的是一个单一的白色像素区域。可以是某些区域必须丢弃,但又是另一点。 现在我想知道是否有办法联合所有区域,即使在非凸多边形中也是如此,因为它可以在以后完成。
【问题讨论】:
如果您添加编程语言的标签,您的问题将获得更好的可见性。 这总是一个平方区域吗? 一旦您排除了异常值,它将始终平方。我尝试了 cvfindcontours,但它只在该图像中找到 10 个轮廓,因此该函数看不到某些区域 我没有得到你想要达到的目标。你想把中间的白块和其他块分开吗?还是您想要由白色块周围的所有单个像素勾勒出的区域? 我必须创建一个对所有点进行分组的区域,在这种情况下,除了右边框上的两个点 【参考方案1】:我知道这可能不是最好的方法,但这是一种方法。
正如您所说,您感兴趣的区域将始终是平方的。我建议你看看 OpenCV 附带的 Square Detector 应用程序。
如果您正在寻找演示,check this answer。
【讨论】:
我会看看,只是一个简单的问题。即使相对于图像边界倾斜,它也能找到一个正方形? 你说的是一个有一些倾斜/旋转的正方形吗?是的。 @andrea 顺便说一句,如果看一下this question,其中一张图片显示了一个区域,该区域周围绘制了一个红色方块。该区域也通过这种技术被检测到,并且它被旋转了。 :)【参考方案2】:为什么不计算像素的凸包?据我所知,这包含在 opencv 中。
【讨论】:
以上是关于将白色像素区域合并为单个区域opencv c ++的主要内容,如果未能解决你的问题,请参考以下文章