Это распространенная проблема в веб (Javascript) и мобильных приложениях (на данный момент Flutter), если вы делаете снимок с камеры, а затем загружаете его на свой сервер. Картинка всегда была в альбомном формате, а не в портретном. Но эта проблема была не во всех моделях телефонов.
В моем случае из-за этой проблемы мое машинное обучение не может распознать лицо внутри изображения. И это будет серьезной проблемой.
Я искал какое-то решение для этого. Я просто думаю, что с этим можно справиться со стороны веб-браузера (для Интернета) и Пакета камеры (Flutter). Но, к сожалению, нет! Последним вариантом было только чтение метаданных изображения или EXIF, затем поворот изображения соответствующим образом (90° или -90°) перед загрузкой на сервер.
Я искал обработку EXIF в Javascript и Flutter и нашел эти ссылки. Это было то же самое с моей проблемой!
Для флаттера это может быть решено с помощью пакета exif для чтения данных EXIF и пакета image для соответствующего поворота изображения. Пожалуйста, проверьте эти ссылки для деталей.
А в Javascript это можно решить с помощью exif-js для чтения данных EXIF и HTML Canvas для поворота изображения.
И теперь моя проблема решена. Вы можете попробовать этот способ, если столкнетесь с такой проблемой. Вот пример изображения после поворота. Теперь портрет!