Это распространенная проблема в веб (Javascript) и мобильных приложениях (на данный момент Flutter), если вы делаете снимок с камеры, а затем загружаете его на свой сервер. Картинка всегда была в альбомном формате, а не в портретном. Но эта проблема была не во всех моделях телефонов.

В моем случае из-за этой проблемы мое машинное обучение не может распознать лицо внутри изображения. И это будет серьезной проблемой.

Я искал какое-то решение для этого. Я просто думаю, что с этим можно справиться со стороны веб-браузера (для Интернета) и Пакета камеры (Flutter). Но, к сожалению, нет! Последним вариантом было только чтение метаданных изображения или EXIF, затем поворот изображения соответствующим образом (90° или -90°) перед загрузкой на сервер.

Я искал обработку EXIF ​​в Javascript и Flutter и нашел эти ссылки. Это было то же самое с моей проблемой!



Для флаттера это может быть решено с помощью пакета exif для чтения данных EXIF ​​и пакета image для соответствующего поворота изображения. Пожалуйста, проверьте эти ссылки для деталей.



А в Javascript это можно решить с помощью exif-js для чтения данных EXIF ​​и HTML Canvas для поворота изображения.

И теперь моя проблема решена. Вы можете попробовать этот способ, если столкнетесь с такой проблемой. Вот пример изображения после поворота. Теперь портрет!