簡體   English   中英

Python OpenCV:用於文本識別的圖像去噪

[英]Python OpenCV: Image Denoising for Text Recognition

我有這組圖像,我想對其進行降噪以便在其上運行 OCR:

在此處輸入圖片說明

在此處輸入圖片說明

我正在嘗試從圖像中讀取 7810。

我試過了

cv2.threshold(img, 128, 255,cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
cv2.fastNlMeansDenoising(img,None,60,10,20)

和一些形態表達,但似乎沒有一個能充分清除這個圖像。

關於如何充分過濾此圖像以便我可以在此圖像上運行 OCR 或一些 ML 檢測腳本(如 pytesseract)的任何建議?

您可以首先使用中值濾波器去除椒鹽噪聲:

cv2.medianBlur(source, 3)

然后像您一樣嘗試 Otsu 閾值。 這可能最終不是解決方案,但它使文本檢測算法更容易處理圖像

您可以嘗試使用cv2.adaptiveThreshold因為您的圖像在不同區域具有不同的照明條件。

在此處輸入圖片說明

import cv2

image = cv2.imread("1.jpg",0)
thresh = cv2.adaptiveThreshold(image,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,21,2)

cv2.imshow('thresh', thresh)
cv2.waitKey(0)

暫無
暫無

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

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