В целом это работает, но иногда не работает даже в простых случаях (например, текст четкий).

Когда это не удалось, я обнаружил, что в большинстве случаев «скрипт» обнаруживается ошибочно (например: как «Кириллица» или «Арабский»).
'page_num': 0,
'orientation': 0,
'rotate': 0,
'orientation_conf': 0.03,
'script': 'Cyrillic',
'script_conf': 1.48
Я заранее знаю текст: «Латинский», «Французский» или «Английский».
Есть ли способ указать это в tesseract? Я обнаружил, что это можно указать при преобразовании изображения в текст, но не при определении ориентации.
Вот код, который я использую:
img = cv2.imread(filename)
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #convert to black and white
img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1] #high contrast
rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
results = pytesseract.image_to_osd(rgb, output_type=pytesseract.Output.DICT)
print(results["rotate"])
Подробнее здесь: https://stackoverflow.com/questions/786 ... ifying-lan