作为小白的我学会了使用opencv进行文本的识别和框定,很开心!
from PIL import Image
import pytesseract
import cv2 as cv
##inputting and show initial image
img = cv.imread("D:\LAB\Tesseract\mur.png")
cv.namedWindow("Image")
cv.imshow("Image", img)
cv.waitKey(0)
cv.destroyAllWindows()
text = pytesseract.image_to_string(Image.open(r'D:\LAB\Tesseract\mur.png'))#path of image
print(text)
print (pytesseract.image_to_boxes(img))#information about Xpoint Ypoint width height
##Detecting Characters
hImg,wImg,_ = img.shape
boxes = pytesseract.image_to_boxes(img)
for b in boxes.splitlines():
print(b)
b=b.split(' ')
print(b)
x,y,w,h = int(b[1]),int(b[2]),int(b[3]),int(b[4])
cv.rectangle(img,(x,hImg-y),(w,hImg-h),(0,0,255),3)
cv.putText(img,b[0],(x,hImg-y+30),cv.FONT_HERSHEY_COMPLEX,1,(50,50,255),1)
##output image
cv.imshow("Image", img)
cv.waitKey(0)