Как получить правильную ориентацию изображения в wxPython? - PullRequest
0 голосов
/ 03 ноября 2019

wx.Image.GetSize(), кажется, игнорирует ориентацию изображения.

>>> wx.version()
'4.0.7.post1 msw (phoenix) wxWidgets 3.0.5'

Так что для horizontal он вернет [ширина, высота] , потому что ширина больше, но для vertical он вернет [высота, ширина] , поскольку высота больше

try:
    import cStringIO
except ImportError:
    import io as cStringIO

data = open(imageFile_horizontal, "rb").read()
stream = cStringIO.BytesIO(data)
im= wx.ImageFromStream( stream )
W = img.GetWidth()
H = img.GetHeight()
print('wxPython:',img.GetSize(), W, H)  

wxPython: (9504, 6336) 9504 6336

stream.seek(0)            
cv = cv2.imdecode(np.asarray( bytearray(stream.read() ) , dtype=np.uint8), 0 )
s_h, s_w = cv.shape
print('cv2:',s_h, s_w)

cv2: 6336 9504

Проверка вертикальной ориентации:

wxPython: (9504, 6336) 9504 6336

cv2: 9504 6336

Есть ли способ получить ориентацию изображения в wxPython без лишних усилий?

...