【问题标题】:unite white pixels region into a single region opencv c++将白色像素区域合并为单个区域opencv c ++
【发布时间】:2011-12-14 11:06:01
【问题描述】:

我正在使用 opencv,我需要从许多区域开始获取单个白色像素区域,如图所示:

我想要得到的是一个单一的白色像素区域。可以是某些区域必须丢弃,但又是另一点。 现在我想知道是否有办法联合所有区域,即使在非凸多边形中也是如此,因为它可以在以后完成。

【问题讨论】:

  • 如果您添加编程语言的标签,您的问题将获得更好的可见性。
  • 这总是一个平方区域吗?
  • 一旦您排除了异常值,它将始终平方。我尝试了 cvfindcontours,但它只在该图像中找到 10 个轮廓,因此该函数看不到某些区域
  • 我没有得到你想要达到的目标。你想把中间的白块和其他块分开吗?还是您想要由白色块周围的所有单个像素勾勒出的区域?
  • 我必须创建一个对所有点进行分组的区域,在这种情况下,除了右边框上的两个点

标签: c++ image-processing opencv


【解决方案1】:

我知道这可能不是最好的方法,但这是一种方法。

正如您所说,您感兴趣的区域将始终是平方的。我建议你看看 OpenCV 附带的 Square Detector 应用程序。

如果您正在寻找演示,check this answer。

【讨论】:

  • 我会看看,只是一个简单的问题。即使相对于图像边界倾斜,它也能找到一个正方形?
  • 你说的是一个有一些倾斜/旋转的正方形吗?是的。
  • @andrea 顺便说一句,如果看一下this question,其中一张图片显示了一个区域,该区域周围绘制了一个红色方块。该区域也通过这种技术被检测到,并且它被旋转了。 :)
【解决方案2】:

为什么不计算像素的凸包?据我所知,这包含在 opencv 中。

【讨论】:

    猜你喜欢
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 2012-11-02
    • 1970-01-01
    • 2023-03-05
    • 2018-09-06
    相关资源
    最近更新 更多