首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何锐化图像,使图像能够被OCR读取?

如何锐化图像,使图像能够被OCR读取?
EN

Stack Overflow用户
提问于 2019-06-03 09:49:49
回答 2查看 1.1K关注 0票数 0

我想锐化图像,这样图像就可以通过OCR更好地阅读。

为了让它更容易阅读,我用这个代码把图像处理成黑白。

代码语言:javascript
复制
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”。什么代码可以锐化图像,使其能够更准确地阅读?

EN

回答 2

Stack Overflow用户

发布于 2019-06-03 09:54:36

磨利只能让你走到这一步。如果你真的想了解更多细节,你可以探索一下超分辨率神经网络。

您可以很容易地了解这项技术有多好,但根据您的问题,您可能需要一个可以在本地运行的letsenhance.io。我不确定哪个是最好的,但也许是https://github.com/alexjc/neural-enhance

票数 0
EN

Stack Overflow用户

发布于 2019-06-04 03:30:58

我建议试着简单地扩大字符,看看它是否可以提高你的OCR。

代码语言:javascript
复制
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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56420281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档