Замена FirebaseVisonImageMetadata для автономных SDK ML Kit
Я перехожу на новый автономный ML Kit из Firebase ML Kit.
При создании FirebaseVisionImage
Раньше я передавал вращение как FirebaseVisionImageMetadata.ROTATION_180
, Но в соответствии с документацией, тоFirebaseVisionImageMetadata
класс был удален.
Как установить значение поворота при использовании новых классов SDK?
Старый код:
mFaceDetector.detectInImage(FirebaseVisionImage.fromMediaImage(
finalImage,
FirebaseVisionImageMetadata.ROTATION_180))
.addOnSuccessListener(faces -> {
// Some logic
});
1 ответ
Это было решено путем простой передачи значений поворота в градусах как int
.
Поскольку новый SDK требует InputImage
вместо того FirebaseVisionImage
, его fromMediaImage
реализация метода дает представление. Вот функция:
@NonNull
@RequiresApi(19)
public static InputImage fromMediaImage(@NonNull Image var0, int var1) {
long var2 = SystemClock.elapsedRealtime();
Preconditions.checkNotNull(var0, "Please provide a valid image");
Preconditions.checkArgument(var1 == 0 || var1 == 90 || var1 == 180 || var1 == 270, "Invalid rotation. Only 0, 90, 180, 270 are supported currently.");
// ...other logic
}
Это дает представление о том, что новой функции нужен второй параметр как 0
, 90
, 180
или 270
в качестве int
ценности.
Следовательно, мы можем передать вращение как:
mFaceDetector.process(InputImage.fromMediaImage(finalImage, 180)).addOnSuccessListener(faces -> {
// Some logic
});