我遵循了一些代码来进行简单的文本识别(来自How to detect separate figures in an image?)。但是,它总是在字母中添加加法等高线,就像e中的循环一样。
我试图修复这个问题是为了测试上一次迭代中的重叠等高线。但是,在标记每个轮廓之后,我注意到它们是从最低的y点创建到输出中的最高的。
去除内部轮廓最简单的方法是什么?我已经看到了许多引用RETR_EXTERNAL调用和层次结构的线程,但我看不出它们如何适用于这段代码。
发布于 2020-03-01 18:49:57
你检查过你的轮廓了吗?多个矩形的原因是因为您的字母或精明的边缘或轮廓被断开,因此,在cnts
中每个字母都有多个组件。我建议如下:
cv2.imshow("canny", canny)
blurred = cv2.GaussianBlur(gray, (9, 9), 0)
canny = cv2.Canny(blurred, 80, 255, 3)
kernel = np.ones((5,5),np.uint8) closing = cv2.morphologyEx(canny, cv2.MORPH_CLOSE, kernel)
https://stackoverflow.com/questions/60481738
复制