Я получил решение проверить ориентацию изображения.У нас уже есть метод в pytesseract для выполнения этой работы.
imPath='path_to_image'
im = cv2.imread(str(imPath), cv2.IMREAD_COLOR)
newdata=pytesseract.image_to_osd(im)
re.search('(?<=Rotate: )\d+', newdata).group(0)
Вывод метода pytesseract.image_to_osd (im):
Page number: 0
Orientation in degrees: 270
Rotate: 90
Orientation confidence: 4.21
Script: Latin
Script confidence: 1.90
И нам нужно значение поворота только для измененияориентация, поэтому использование регулярных выражений сделает дальнейшую оставшуюся работу.
re.search('(?<=Rotate: )\d+', newdata).group(0)
Это будет последний метод поворота изображения, чтобы привести его к 0` ориентации.
def rotate(image, center = None, scale = 1.0):
angle=360-int(re.search('(?<=Rotate: )\d+', pytesseract.image_to_osd(image)).group(0))
(h, w) = image.shape[:2]
if center is None:
center = (w / 2, h / 2)
# Perform the rotation
M = cv2.getRotationMatrix2D(center, angle, scale)
rotated = cv2.warpAffine(image, M, (w, h))
return rotated