이미지에 경계 상자 (사각형 좌표)가 있고 해당 좌표 내에서 텍스트를 추출하고 싶습니다. pytesseract를 사용하여 해당 좌표 내에서 텍스트를 추출하려면 어떻게해야합니까?
나는 opencv를 사용하여 이미지 부분을 다른 numpyarray에 복사하려고했습니다.
cropped_image = image[y1:y2][x1:x2]
그리고 pytesseract.image_to_string ()을 시도했습니다. 그러나 정확도는 매우 낮았습니다. 그러나 원본 이미지를 pytesseract.image_to_string ()에 시도했을 때 모든 것을 완벽하게 추출했습니다 ..
pytesseract를 사용하여 이미지의 특정 부분을 추출하는 기능이 있습니까?
이 이미지에는 정보의 다른 섹션이 있습니다. '온라인 음식 배달 시스템'을 둘러싸는 직사각형 좌표가 있다고 생각하면 피 테사 랙트에서 해당 데이터를 추출하는 방법은 무엇입니까?
미리 감사드립니다.
내가 사용중인 버전 : Tesseract 4.0.0 pytesseract 0.3.0 OpenCv 3.4.3
Pytesseract를 사용하여 이미지의 특정 부분을 추출하는 기능은 내장되어 있지 않지만 OpenCV를 사용하여 ROI 경계 상자를 추출한 다음이 ROI를 Pytesseract에 넣을 수 있습니다. 이미지를 회색조로 변환 한 다음 임계 값을 사용하여 이진 이미지를 얻습니다. 원하는 ROI 좌표가 있다고 가정하면 Numpy 슬라이싱을 사용하여 원하는 ROI를 추출합니다.
여기에서 우리는 결과를 얻기 위해 그것을 Pytesseract에 던집니다.
ONLINE FOOD DELIVERY SYSTEM
암호
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
image = cv2.imread('1.jpg', 0)
thresh = 255 - cv2.threshold(image, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
x,y,w,h = 37, 625, 309, 28
ROI = thresh[y:y+h,x:x+w]
data = pytesseract.image_to_string(ROI, lang='eng',config='--psm 6')
print(data)
cv2.imshow('thresh', thresh)
cv2.imshow('ROI', ROI)
cv2.waitKey()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다