簡體   English   中英

OpenCV - 從圖像中刪除文本

[英]OpenCV - Remove text from image

如何從下面的醫學超聲圖像中刪除文本和標記?

在此輸入圖像描述

對這個圖像中的大多數情況進行閾值處理以制作更白色區域的掩模然后進行修復將起作用。

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)

在此輸入圖像描述

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM