我有一张照片。
图像中有很多破碎的地方。
请参考图片。
谁知道如何使用opencv 3.0修复折线?
我在OpenCV中使用了扩张操作,得到的图片如下:
比较原始图像看起来很丑。
答案 0 :(得分:1)
我参加聚会很晚,但是希望这对某人有帮助。
由于您没有提供原始图像,所以我不能说以下解决方案可以100%起作用。不确定如何对图像进行阈值处理,但是自适应阈值处理可能会给您带来更好的结果。 Opencv(Python)代码:
gauss_win_size = 5
gauss_sigma = 3
th_window_size = 15
th_offset = 2
img_blur = cv2.GaussianBlur(image,(gauss_win_size,gauss_win_size),gauss_sigma)
th = cv2.adaptiveThreshold(img_blur,255, cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY_INV,th_window_size,th_offset)
修改参数值以查看哪些值最有效。通常,对图像进行模糊处理是一个好主意,并且可能需要处理破碎的字母二进制图像。请注意,模糊可能最终会在二进制图像中产生稍粗的字符。如果仍然留下一些断字符,则可以使用形态学结束符:
selem_shape = cv2.MORPH_RECT
selem_size = (3, 3)
selem = cv2.getStructuringElement(selem_shape, selem_size)
th = cv2.morphologyEx(image, cv2.MORPH_CLOSE, selem)
再次修改结构元素的大小和形状,使其最适合您的图像。