答案 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)
这是面具:
这是修复的图像:
请注意,阈值蒙版不正确,并且包含较浅的区域(没有字母)。但更重要的是,如果蒙版不包含需要删除的区域(例如中间的十字阴影),则尤其会产生问题。这是该区域的放大图。
遮罩只是白色区域,不覆盖黑暗区域。对于阈值不足的此类问题,可以手动调整遮罩。在这里,我将原始的十字架放在蒙版中并移动以覆盖阴影,并且修复效果更好。 (同样,如果需要,可以手动删除不应该包含在遮罩中的区域)
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)