【发布时间】:2020-06-08 21:04:36
【问题描述】:
我尝试通过 OpenCV 的 MSER 检测在图像上查找对象。但是函数 cvExtractMSER 返回的不是轮廓,而是创建图形的点集 (CvSeq):
(1, 4), (2, 3), (2, 4), (3, 2), (3, 3), (3, 4), (4, 1), (4, 2), (4, 3), (4, 4), ...
但我只需要轮廓点:
(1, 4), (8, 4), (8, 1), (4, 1)
我怎样才能找到这个轮廓?
我认为,最简单(但不是最快)的方法是:
- 用所有点绘制黑白图像(如何?逐点绘制?)
- 使用
findContours在新图像上查找轮廓
【问题讨论】:
-
已经 2 年了,所以您可能已经有了问题的解决方案。我遇到了同样的问题。因此,我认为描述 MSER 返回“轮廓”的 OpenCV 文档不正确:“//在指定图像上运行提取器;返回 MSER,//每个编码为轮廓(vector
,请参阅 findContours ) // 可选掩码标记搜索 MSER 的区域 (...)"
标签: opencv computer-vision contour mser