微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有更好的方法来识别杂乱图像中的非结构化日语文本,并使用 pytesseract 进行一些图像处理操作

如何解决有没有更好的方法来识别杂乱图像中的非结构化日语文本,并使用 pytesseract 进行一些图像处理操作

最初我对所有 OCR 算法进行了调查,我发现 tesseract 是最快和准确的,但在结构化文本中。所以我尝试做一些图像操作,以便也可以识别杂乱图像中的文本。

我试过这个代码

 import cv2 as cv
import numpy as np
from PIL import Image
import PyTesseract

def find_area(contours):
    area = []
    for c in contours:
        con_area = cv.contourArea(c)
        area.append(con_area)
    return area
            


img = cv.imread('/home/bharat/Pictures/Bad/c5.jpg')
img1 = cv.imread('/home/bharat/Pictures/Bad/c5.jpg')
img = cv.cvtColor(img,cv.COLOR_BGR2GRAY)

# canny_img = cv.Canny(img,25,255)
# canny_img = hysteresis(canny_img,255)
# canny_img1 = cv.Canny(img,10,250)
# canny_img2= cv.Canny(img,50,100)
# ret,img12 = cv.threshold(img,127,255,cv.THRESH_BINARY+cv.THRESH_OTSU)

contours,hierarchy = cv.findContours(img,cv.RETR_TREE,cv.CHAIN_APPROX_NONE)
print(str(len(contours)))
cv.drawContours(img1,contours,-1,(255,0),3)

# sorted_con = sorted(contours,key=cv.contourArea,reverse=True)
# # cv.drawContours(img1,sorted_con,3)
# for sc in sorted_con[:20]:
#     cv.drawContours(img1,[sc],3)
#     cv.imshow('wg',img1)
#     cv.waitKey(0)

print(PyTesseract.image_to_data(img1,lang='jpn',config='--oem 2--tessdata-/usr/share/tesseract-ocr/5/tessdata'))
# # img = Image.open("/home/bharat/Pictures/Bad/c13.jpg")
# # img.show()

cv.imshow('as',img1)
cv.imshow('q',img)
# cv.imshow('wg',canny_img1)
# cv.imshow('Org_img',canny_img2)
if cv.waitKey(0)==27:
    cv.destroyAllWindows()

它工作正常,但图像 Japanese text japanese text 2 仍然没有检测到,我也尝试了精明的边缘检测和轮廓检测,但仍然无法识别文本。即使图像质量很好也无法识别

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。