c - 消除 OpenCV 中包含在其他矩形内的矩形

标签 c image-processing opencv computer-vision

我正在使用 OpenCV 编写一个 C 程序来检测一些用胶带制成的矩形,这些矩形内部是空心的。问题是,每个物理矩形给出两个数字矩形:一个用于内周,一个用于外周。在所有情况下,外矩形完全包围内矩形。

我需要一些方法来移除内部矩形,并且以一种相当有效的方式,因为这是在视频源上运行并且不能显着降低帧率(大约 15fps,在 BeagleBoard xM,这不是很强大)。

始终有四个物理矩形,以及四到八个数字矩形,具体取决于处理操作的清洁度。外矩形检测可靠;内部矩形不是。对图像进行阈值化、腐 eclipse 和膨胀,使图像干净,检测总体上是可靠的。

我觉得这个问题与 OpenCV 是分开的,实际上只是在处理矩形,我可能需要一段时间才能解决,但该项目的截止日期很紧,所以我也提出了这个问题。提前致谢,伙计们。

最佳答案

有一个函数叫做grouprectangle在 opencv 中。

该函数可以删除多个矩形...

祝您编码愉快。

关于c - 消除 OpenCV 中包含在其他矩形内的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9106217/

相关文章:

c++ - OpenCV 访问 MAT 对象中的 RGB 值

algorithm - 使用来自多个点的多个图像构建 3d 模型(kinect)

c - 如何在C程序中获取当前目录?

c++ - 从给定的图像数据中提取像素数据。需要帮助理解代码

mysql 查询插入不起作用

彩色图像上的 OpenCV 腐 eclipse 和膨胀

c++ - 如何在视频序列中识别一次图像?

c++ - 在 Ubuntu : "Invalid or incomplete multibyte or wide character", 和有趣的 UTF-8 字符上执行编译文件

c - 尽管参数正确,Linux 重启系统调用仍会返回错误

c - 有没有办法在 Eclipse 中启用所有宏?