Изображение не вращается правильно в портретном режиме с использованием ImageAnaанализаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Изображение не вращается правильно в портретном режиме с использованием ImageAnaанализа

Сообщение Anonymous »

У меня возникла проблема с поворотом изображения в приложении для Android при использовании класса ImageAnaанализ из библиотеки CameraX. Изображения, снятые в портретном режиме, не поворачиваются правильно на определенном устройстве (Huawei Nova 12 SE). На других протестированных мной устройствах все работает нормально (Pixel 7, Samsung Galaxy A55).
Вот соответствующий код:

Код: Выделить всё

fun  analyzeImageAsync(
imageProxy: ImageProxy,
onProcess: (input: InputImage) -> Task,
transform: (result: T) -> R?
): Deferred = scope.async {
val image = InputImage.fromMediaImage(
imageProxy.image ?: return@async null,
imageProxy.imageInfo.rotationDegrees
)

suspendCoroutine { continuation ->
onProcess(image)
.addOnSuccessListener { result ->
continuation.resume(transform(result))
}.addOnFailureListener { exception ->
continuation.resumeWithException(exception)
}
}
}
Когда я просматриваю захваченное изображение, я вижу, что оно повернуто на 90 градусов. Изменение угла поворота на 0 не меняет результат изображения.
Я также пытался изменить изображение на растровое, надеясь, что это решит проблему, но результат был тот же:

Код: Выделить всё

fun  analyzeImageAsync(
imageProxy: ImageProxy,
onProcess: (input: InputImage) -> Task,
transform: (result: T) -> R?
): Deferred = scope.async {
val bitmap = imageProxy.toBitmap()
val inputImage = InputImage.fromBitmap(bitmap, imageProxy.imageInfo.rotationDegrees)
// Further processing...
}
Любая помощь с этим?
Изменить:
Первое изображение — это то, что я ожидаю от изображения. например, второе - это то, которое я получаю, и оно повернуто.
Изображение

Изображение


Подробнее здесь: https://stackoverflow.com/questions/790 ... geanalysis
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»