OpenCV findContours:让它变得健壮

时间:2014-03-24 22:32:30

标签: java opencv contour threshold

如何使findContours强大,使其工作,即使轮廓可能因图像中的噪声数据和/或周边/渐变而无法关闭?

对于第一种情况(未关闭),我遇到了以下问题: 在像这样的阈值图片上使用它时算法运行得很好:

enter image description here

但是当我仔细观察时,没有封闭的轮廓,请看这里:

enter image description here

如何让它适用于这种情况呢?我想也许总是在我的照片的顶部和底部画一条水平线,然后总是"交叉"纸币(当纸币从太近的位置捕获时)使其成为完整的轮廓。但是当音符有点旋转时,这可能不会很好,因为我没有得到正确的轮廓,是吗? 你有更好的想法吗? 非常感谢提前!

1 个答案:

答案 0 :(得分:1)

这是一个简单的解决方案,可能会起作用。

如果您知道哪些轮廓点是间隙的开口(前面的伪代码):

Point pointGAP1;
Point pointGAP2;

if (pointGAP1.coordinate == iamgeBorder || pointGAP2.coordinate == iamgeBorder) {
    // add line from pointGAP1 to pointGAP2
}