有没有更好的方法来识别杂乱图像中的非结构化日语文本,并使用 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 (将#修改为@)