是否可以使用 OpenCV 在不妨礙影像文本的情況下洗掉這些黑點?
到目前為止,我已經嘗試了擴張、形態學、侵蝕等。

uj5u.com熱心網友回復:
也許嘗試將字母連接到大斑點,并洗掉小斑點:
img = (cv2.imread(r"your_image.png",cv2.IMREAD_UNCHANGED)==0).astype(np.uint8)
mask=cv2.morphologyEx(img,cv2.MORPH_CLOSE,np.ones((20,40))) # this will connect letters together
out = cv2.connectedComponentsWithStats(mask, 4, cv2.CV_32S) # count pixel in each blob
bad = out[2][:,cv2.CC_STAT_AREA]<2000 %remove small blobs
mask = np.zeros_like(img,dtype=np.uint8)
for i in range(1,out[0]):
if not bad[i]:
mask[out[1] == i] = 1
img_clean = img & mask
plt.imshow(1-img_clean,interpolation="none",cmap='gray')
它并不完美,但它是一個開始,希望它有所幫助。

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/314793.html
標籤:Python opencv 图像处理 计算机视觉 写字楼
上一篇:MSSQL:'!'附近語法不正確
