如何去除从图像中提取的不需要的文本?

我正在开发一个名为“名片扫描仪”的项目。我使用pytesseract从图像中提取文本,然后通过正则表达式和其他技术对提取的文本进行分类。

每当图像中出现logo时,tesseract会将其视为文本并尝试读取。这会导致产生无意义的文本。请看下面的图像示例:

IMG

这是我尝试提取文本的方法:

# Google colab# read required librariesimg = cv2.imread("img2.jpg")gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)blur = cv2.GaussianBlur(gray, (5,5),0)ret3, thresh = cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)cv2_imshow(thresh)text = pytesseract.image_to_string(thresh, lang = 'eng'); print(text)

运行上述代码时,得到的输出如下:

: eM , NOEs Efe: Mb fes fe y Ky TEP ON PILLS caggy: Ye Ws My Wii WL, FLY T by,i igs Mg ER te EB iy MY, Gee.: WO Ee as _ he i. "4 ‘; y sen “iy ye age i ‘ el HY tiber My, ee ered fi! ", ty MfMm Gujarat TE og: , fp bet(x = Technological ( Wy, ey,sae ae e . Tf) :wage University ~~ ese e é etikhil Suthar leesfy Lg. Z - “fe " ‘Sa. ve 7, ofRegional Coordinator - OSD MWe) DhyeMob. <hidden>Email : <hidden>Govt. Technical High School Campus, Near AurobindoAshram Dandia Bazar,Vadodara - 390001, Gujarat, Indiawww.gtu.ac.in | www-gtuinnovationcouncil.2¢.ini Ae; ew, ODt eS ft me ' @ateary yaj myee |a

有没有办法可以去除这些由logo(我认为是logo导致的)产生的不需要的文本?如果我的问题需要其他信息,请告诉我。


回答:

图像的背景是问题所在。你可以通过选择高度范围来忽略它

例如:如果你选择高度范围为:h/4 - (3*h)/4,结果将是:(由于超过2MiB,图像已调整大小。)

enter image description here

当你读取时:

Nikhil SutharRegional Coordinator - OSDEmail | Mob. |Govt. Technical High School Campus, Near AurobindoAshram Dandia Bazar, Vadodara - 390001, Gujarat, Indiawww.gtu.ac.in | www.gtuinnovationcouncil.ac.in

代码:


import cv2from pytesseract import image_to_stringimg = cv2.imread("Oa9svHu.jpeg")gry = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)(h, w) = gry.shape[:2]gry = gry[int(h/4):int((3*h)/4), 0:w]txt = image_to_string(gry)print(txt.strip())cv2.imshow("gry", gry)cv2.waitKey(0)

Related Posts

如何对SVC进行超参数调优?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

如何在初始训练后向模型添加训练数据?

我想在我的scikit-learn模型已经训练完成后再…

使用Google Cloud Function并行运行带有不同用户参数的相同训练作业

我正在寻找一种方法来并行运行带有不同用户参数的相同训练…

加载Keras模型,TypeError: ‘module’ object is not callable

我已经在StackOverflow上搜索并阅读了文档,…

在计算KNN填补方法中特定列中NaN值的”距离平均值”时

当我从头开始实现KNN填补方法来处理缺失数据时,我遇到…

使用巨大的S3 CSV文件或直接从预处理的关系型或NoSQL数据库获取数据的机器学习训练/测试工作

已关闭。此问题需要更多细节或更清晰的说明。目前不接受回…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注