Вот соответствующий код:
Код: Выделить всё
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)
}
}
}
Я также пытался изменить изображение на растровое, надеясь, что это решит проблему, но результат был тот же:
Код: Выделить всё
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
Мобильная версия