簡體   English   中英

如何銳化圖像以便圖像可以通過OCR讀取?

[英]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.

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