1

I have tried different ways to pass the language but none worked. Here is the code:

dataframe_final=[]
for i in range(len(boxes_list)):
  for j in range(len(boxes_list[i])):
    s=''
    if(len(boxes_list[i][j])==0):
        dataframe_final.append(' ')
    else:
        for k in range(len(boxes_list[i][j])):
            y,x,w,h = boxes_list[i][j][k][0],boxes_list[i][j][k][1], 
            boxes_list[i][j][k][2],boxes_list[i][j][k][3]
            roi = bitnot[x:x+h, y:y+w]
            kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (2, 1))
            border = cv2.copyMakeBorder(roi,2,2,2,2, 
            cv2.BORDER_CONSTANT,value=[255,255])
            resizing = cv2.resize(border, None, fx=2, fy=2, 
            interpolation=cv2.INTER_CUBIC)
            dilation = cv2.dilate(resizing, kernel,iterations=1)
            erosion = cv2.erode(dilation, kernel,iterations=2)   
            plotting = plt.imshow(erosion,cmap='gray')
            plt.title("After Erosion")
            plt.show()             
            out = pytesseract.image_to_string(erosion)
            if(len(out)==0):
                out = pytesseract.image_to_string(erosion)
            s = s +" "+ out
            dataframe_final.append(s)

print(dataframe_final)

Now if I pass pytesseract.image_to_string(erosion, lang='fra') it doesn't work. Is there a way to pre define the language or another solution?? Here is the Image produced after erosion:

enter image description here

1 Answers1

0
  1. You still did not explain what does it mean: "it doesn't work"?
  2. Why do you want to use language for the recognition of numbers??? It does not make sense
  3. Based on your image: are you trying to OCR 120px hight letters? Please read the tesseract doc first.
user898678
  • 2,994
  • 2
  • 18
  • 17