Dear Developer,
Attached code, input image and output file that is used to extract text
from input image. Used tessract OCR to extract the text from flow diagram,
but not getting text of each box, few are extracted. Please analyse and
suggest changes to get full text.
Thanks
--
You received this message because you are subscribed to the Google Groups
"tesseract-ocr" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tesseract-ocr.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tesseract-ocr/a317672c-0841-4a4b-b90b-080f6010ba88%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Get quarry set
firsijast set flag
=0
Is first <= last
AND flag = 0?
Set flag = 1
Setlast=
middle - 1
Set first=
middle +1
import cv2
import numpy as np
import pytesseract
from PIL import Image
from pytesseract import image_to_string
# Path of working folder on Disk
src_path = "/Text_extraction/"
def get_string(img_path):
# Read image with opencv
img = cv2.imread(img_path)
# Convert to gray
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Apply dilation and erosion to remove some noise
kernel = np.ones((1, 1), np.uint8)
img = cv2.dilate(img, kernel, iterations=1)
img = cv2.erode(img, kernel, iterations=1)
#cv2.imshow(img)
#cv2.waitKey(0)
# Write image after removed noise
cv2.imwrite(src_path + "removed_noise.png", img)
# Apply threshold to get image with only black and white
img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 31, 2)
# Write the image after apply opencv to do some ...
#cv2.imshow("thres", img)
#cv2.waitKey(0)
cv2.imwrite(src_path + "thres.png", img)
# Recognize text with tesseract for python
result = pytesseract.image_to_string(Image.open(src_path + "thres.png"))
# Remove template file
#os.remove(temp)
return result
print('--- Start recognize text from image ---')
#print(get_string(src_path + "graph_search2.jpg"))
file = open("testfile.txt","w")
file.write(get_string(src_path + "Input_img.jpg"))
'''
#######################
# Define config parameters.
# '-l eng' for using the English language
# '--oem 1' for using LSTM OCR Engine
config = ('-l eng --oem 1 --psm 13')
# Run tesseract OCR on image
text = pytesseract.image_to_string((src_path + "graph_search2.jpg"), config=config)
# Print recognized text
print(text)
#######################
'''
print("------ Done -------")