OpenCV-从图像中删除文本

时间:2018-12-03 10:40:51

标签: python image opencv text

如何从下面的医学超声图像中删除文本和标记?

enter image description here

1 个答案:

答案 0 :(得分:5)

在大多数情况下,此阈值可用于遮盖白色区域,然后进行修复。

img = cv2.imread('ultrasound.png')
mask = cv2.threshold(img, 210, 255, cv2.THRESH_BINARY)[1][:,:,0]
dst = cv2.inpaint(img, mask, 7, cv2.INPAINT_NS)

这是面具:

enter image description here

这是修复的图像:

enter image description here

请注意,阈值蒙版不正确,并且包含较浅的区域(没有字母)。但更重要的是,如果蒙版不包含需要删除的区域(例如中间的十字阴影),则尤其会产生问题。这是该区域的放大图。

enter image description here

遮罩只是白色区域,不覆盖黑暗区域。对于阈值不足的此类问题,可以手动调整遮罩。在这里,我将原始的十字架放在蒙版中并移动以覆盖阴影,并且修复效果更好。 (同样,如果需要,可以手动删除不应该包含在遮罩中的区域)

crosses = mask[235:267,290:320] | mask[233:265,288:318]
mask[235:267,290:318] = crosses
dst = cv2.inpaint(img, mask, 7, cv2.INPAINT_NS)

enter image description here

enter image description here