首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于分离触摸字符的图像处理/ OCR技术

用于分离触摸字符的图像处理/ OCR技术
EN

Stack Overflow用户
提问于 2021-10-17 20:46:07
回答 2查看 85关注 0票数 1

我正在尝试为Tesseract的OCR准备图像。然而,某些字符序列接触(由于字体字形上的衬线),这会混淆它。

例如I/U

我注意到每个字符都有一个明亮的轮廓。如果可以用深色代替,这些字母就会获得一些喘息的空间。

代码语言:javascript
复制
    img_grey[img_grey > 100] = 0

..。但我不能让它工作。

有没有人知道更好的技术?

EN

回答 2

Stack Overflow用户

发布于 2021-10-17 21:26:36

使用OpenCV,你可以将其转换为灰度,然后应用Otsu的阈值来获得二值化的图像,然后将其侵蚀:

代码语言:javascript
复制
import cv2         
import numpy as np    

im = cv2.imread('image.png')
im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
 
_, th = cv2.threshold(im, 120, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)     

kernel = np.ones((5,5), np.uint8)

# Increase iterations if you want it thinner
eroded = cv2.erode(th, kernel, iterations=2)

cv2.imwrite('eroded.png', eroded)

票数 2
EN

Stack Overflow用户

发布于 2021-10-17 20:56:32

你可以尝试腐蚀图像,在opencv中有一个叫做腐蚀的操作,在这种情况下它基本上缩小了字符的厚度。这应该在字符之间留出一些空格,但要注意不要过度,否则tesseract可能无法识别字符。可以通过试验和错误获得适量的错误。

有关更多详细信息,请参阅此Link

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

https://stackoverflow.com/questions/69608458

复制
相关文章

相似问题

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