How to extract dotted text from image?(如何从图像中提取虚线文本?)
本文介绍了如何从图像中提取虚线文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在做我的学士学位期末项目,我想创建一个OCR用于使用蟒蛇进行瓶子检查。我需要一些图像的文本识别的帮助。我是需要以更好的方式应用CV2操作,还是应该尝试其他方法?
我尝试对图像执行图像处理操作,并使用pytesseract识别字符。
使用我从这张照片中获得的以下代码:
到此:
然后转到这个:
锐化功能:
def sharpen(img):
sharpen = iaa.Sharpen(alpha=1.0, lightness = 1.0)
sharpen_img = sharpen.augment_image(img)
return sharpen_img
图像处理代码:
textZone = cv2.pyrUp(sharpen(originalImage[y:y + h - 1, x:x + w - 1])) #text zone cropped from the original image
sharp = cv2.cvtColor(textZone, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(sharp, 127, 255, cv2.THRESH_BINARY)
#the functions such as opening are inverted (I don't know why) that's why I did opening with MORPH_CLOSE parameter, dilatation with erode and so on
kernel_open = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
open = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel_open)
kernel_dilate = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,7))
dilate = cv2.erode(open,kernel_dilate)
kernel_close = cv2.getStructuringElement(cv2.MORPH_RECT, (1, 5))
close = cv2.morphologyEx(dilate, cv2.MORPH_OPEN, kernel_close)
print(pytesseract.image_to_string(close))
这是pytesseract.Image_to_字符串的结果:
22203;?!)
92:53 a
预期结果为:
22/03/20
02:53 A
推荐答案
"我需要以更好的方式应用cv2操作、训练测试血清还是应该尝试其他方法?"
首先,我要表扬你接受了这个项目并取得了今天的成就。从OpenCV/CV2的角度来看,您的产品看起来相当不错。
现在,如果你想让Tesseract带你走完剩下的路,至少你必须训练它。在这里,你面临着一个艰难的选择:要么投资培训Tesseract,要么创建一个CNN来识别有限的字母表。如果你有办法分割图像,我会忍不住选择后者。
这篇关于如何从图像中提取虚线文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何从图像中提取虚线文本?


基础教程推荐
猜你喜欢
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01