Для моего текущего проекта ocr я попытался использовать tesserect, используя pytesseract оболочки python для преобразования изображений в текстовые файлы. До сих пор я передавал в свой модуль только хорошо ориентированные изображения, так как он мог правильно определять текст на этом изображении. Но сейчас, когда я прохожу повернутые изображения, он не может распознать ни единого слова. Поэтому для получения хорошего результата мне нужно передавать изображения только с правильной ориентацией. Теперь я хочу знать, есть ли какой-либо метод определения ориентации изображения перед его передачей в модуль ocr. Пожалуйста, дайте мне знать, какие методы я могу использовать для проверки ориентации.
Это метод, который я использую для преобразования:
def images_to_text(testImg):
print('Reading images form the directory..........')
dataFile=[]
for filename in os.listdir(testImg):
os.chdir(testImg)
# Define config parameters.
# '-l eng' for using the English language
# '--oem 1' for using LSTM OCR Engine
config = ('-l eng --oem 1 --psm 3')
# Read image from disk
im = cv2.imread(str(filename), cv2.IMREAD_COLOR)
# Run tesseract OCR on image
text = pytesseract.image_to_string(im, config=config)
#basic preprocessing of the text
text = text.replace('\t',' ')
text= text.rstrip()
text= text.lstrip()
text = text.replace(' +',' ')
text = text.replace('\n+','\n')
text = text.replace('\n+ +',' ')
#writing data to file
os.chdir(imgTxt)
rep=filename[-3:]
name=filename.replace(rep,'txt')
with open(name, 'w') as writeFile:
writeFile.write("%s\n" % text)
text = text.replace('\n',' ')
dataFile.append(text)
print('writing data to file done')
return dataFile