OpenCV-从图像中删除文本

sud*_*iam 4 python text opencv image

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

在此处输入图片说明

A K*_*ger 6

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

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)
Run Code Online (Sandbox Code Playgroud)

这是面具:

在此处输入图片说明

这是修复的图像:

在此处输入图片说明

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

在此处输入图片说明

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

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)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在此处输入图片说明