[英]How to sharpen image so that image can read by OCR?
我想銳化圖像,以便OCR可以更好地讀取圖像。
為了便於閱讀,我使用此代碼將圖像處理為B&W。
import cv2
im_gray = cv2.imread('your_image_here', cv2.IMREAD_GRAYSCALE)
(thresh, im_bw) = cv2.threshold(im_gray, 128, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
thresh = 127
im_bw = cv2.threshold(im_gray, thresh, 255, cv2.THRESH_BINARY)[1]
cv2.imwrite('bw_image.png', im_bw)
輸出是這樣的 然后,當我想通過OCR讀取它時,輸出不准確。 我想讀“443,296”和“72,727”。 什么是銳化圖像的代碼,以便更准確地讀取?
銳化只能讓你到目前為止。 如果您真的想獲得更多細節,您可以探索的一件事是超分辨率神經網絡。
您可以輕松地嘗試了解技術的優點是letsenhance.io,但根據您的問題,您可能想要一個可以在本地運行的問題。 我不確定最好的但可能是https://github.com/alexjc/neural-enhance
我建議嘗試簡單地擴大角色,看看它是否能提高你的OCR。
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
dilation = cv2.dilate(img,kernel,iterations = 1)
更多關於OpenCV中的形態轉換: https : //docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_morphological_ops/py_morphological_ops.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.