CameraX providing Distorted bitmap when saving ImageProxy to bitmap.
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginnen Sie mit dem ImageAnalysis-Builder und der im Bericht beschriebenen überschriebenen analyze-Funktion, wobei Sie sich auf die Zielauflösung, das Ausgabe-Bildformat und den ImageProxy-Pfad von buffer-to-bitmap konzentrieren. Reproduzieren Sie den Frontkamera-Fall auf der aufgeführten OnePlus-6T-Konfiguration mit gebundenem imageCapture und vergleichen Sie anschließend die gespeicherte Bitmap mit dem Fall, in dem imageCapture entfernt wurde. Als erledigt gilt die Aufgabe, wenn die Bitmap der Frontkamera ohne Verzerrung gespeichert wird, während imageCapture weiterhin gebunden ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
When trying to save the bitmap from ImageProxy it save the bitmap as distorted but only in case of FrontCamera. we have tested on multiple devices the issues only appears in OnePlus6T on camera2 it was working properly. If we remove the imageCapture from bind to lifecycle then it start returning proper bitmap in OnepPlus6T devices as well.
Changes done instead of setAspectRatio setTargetResolution is used where size is calculated using
val metrics = windowManager.getCurrentWindowMetrics().bounds
ImageAnalzyer now looks like this.
imageAnalyzer = ImageAnalysis.Builder()
.setTargetResolution(maxSize)
.setTargetRotation(rotation)
.setOutputImageFormat(ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888)
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST)
.build()
.also {
it.setAnalyzer(cameraExecutor, this)
}
Bitmap is intialized
bitmap = Bitmap.createBitmap(imageSize.width, imageSize.height, Bitmap.Config.ARGB_8888);
Bitmap save is done in override analyze function
bitmap!!.copyPixelsFromBuffer(image.image!!.planes[0].buffer);
val bos = ByteArrayOutputStream()
cameraBitmap!!.compress(Bitmap.CompressFormat.JPEG, 100, bos)
val bitmapdata = bos.toByteArray()
Its happening on OnePlus 6T(A6010)
Android Version : 11
Oxygen OS Version : 11.1.2.2
Build Number : ONEPLUS A6010_41_21125
- Vorherrschende Sprache
- Kotlin
- Sterne
- 5.5k
- Forks
- 2.4k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus android/camera-samples
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
android/camera-samples#546 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
android/camera-samples#545 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 30/100
android/camera-samples#544 ·
-
Does CameraX plan to support USB Camera? When was the launch date? Someone raised Issues in 2019Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 15/100
android/camera-samples#543 · 2 Kommentare · 1 Reaktion ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
android/camera-samples#542 · 1 Kommentar ·
Alle Issues in android/camera-samples
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
react/react-native#59693 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
pengchujin/aerial-tv#989 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
[Submission] ViaOffensubmit-adaption submit-adaption-violation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
BetterAndroid/android-notification-icon-project#811 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag