【发布时间】:2017-02-06 05:05:33
【问题描述】:
我有以下图片作为测试图片:
我试图找到图像(和其他图像)上的形状。我现在的方法如下:
- 具有 3x3 内核的高斯模糊
- Canny 边缘检测使用 列表(获取所有形状)
- MorphOp 的形态学。关闭以关闭 边缘
- FindContours 查找轮廓
- 每个轮廓的迭代:
- 查找 ApproxPolyDP
- 找到 ConvexHull
- 丢弃如果 船体尺寸 50000,或弧长 大约
- 绘制凸包
这几乎是完美的,但请注意,这些线条被视为事件->供应商和事件->文档的轮廓)。查看边缘信息时,很明显为什么会这样:
线条被检测为轮廓。我如何准备/找到形状以便检测不到线条?我虽然有一些细化算法,但由于我也在处理现实生活中的图像,所以很难找到一个有效的阈值。这是一个现实生活图像的示例,其中很难进行细化,因为细化通常要求图像在黑白中是单色的。
你会怎么做?有什么方法可以确定轮廓/凸包是线、矩形还是类似的东西?
【问题讨论】:
标签: opencv emgucv opencv-contour canny-operator adaptive-threshold