Wie kann ich die Kameraauflösung verringern?

Kameraauflösung & Steuerung verstehen

Rating: 4.02 (6311 votes)

Die Kamera ist eines der wichtigsten Werkzeuge in modernen Smartphones. Sie ermöglicht es uns, Momente festzuhalten und kreativ zu werden. Eine entscheidende Einstellung, die die Qualität und Dateigröße Ihrer Fotos beeinflusst, ist die Kameraauflösung. Aber wie lässt sich diese Einstellung ändern? Und welche Möglichkeiten gibt es darüber hinaus, die Kamera feiner zu steuern, insbesondere aus Sicht der App-Entwicklung?

Die Reduzierung der Kameraauflösung kann in bestimmten Situationen nützlich sein, zum Beispiel um Speicherplatz zu sparen oder das Teilen von Fotos zu erleichtern. Die einfachste Methode, die Auflösung zu verringern, ist oft direkt in der Kamera-App Ihres Geräts zu finden.

Kameraauflösung direkt am Gerät ändern

Die genauen Schritte können je nach Hersteller und Android-Version variieren, aber der allgemeine Prozess ist oft ähnlich:

  1. Öffnen Sie die Kamera-App auf Ihrem Smartphone.
  2. Suchen Sie nach den Einstellungen der Kamera. Dies ist oft ein Zahnrad-Symbol.
  3. Scrollen Sie durch die Einstellungen, bis Sie Optionen für die Foto- oder Videoauflösung finden.
  4. Wählen Sie die gewünschte niedrigere Auflösung aus der Liste der verfügbaren Optionen.

Beachten Sie, dass nicht alle Geräte eine detaillierte Kontrolle über die Auflösung in der Standard-Kamera-App bieten. Manchmal sind nur vordefinierte Qualitätsstufen wählbar.

Welche Auflösung hat die Android-Kamera?
Standardauflösung: Die Standardeinstellung für die Zielauflösung ist 640 x 480. Durch Anpassen der Zielauflösung und des entsprechenden Seitenverhältnisses wird die bestmögliche Auflösung erreicht. Maximale Auflösung: Die maximale Ausgabeauflösung des Kamerageräts im Format YUV_420_888, die aus StreamConfigurationMap abgerufen wird.

Kamerasteuerung und Auflösung mit CameraX

Für Entwickler und fortgeschrittene Anwendungen bietet Android leistungsfähigere APIs zur Kamerasteuerung. Eine moderne und empfohlene Bibliothek ist CameraX. Sie vereinfacht den Zugriff auf die Kamerafunktionen und bietet gleichzeitig Flexibilität und Kontrolle über Aspekte wie die Auflösung.

CameraX arbeitet mit Anwendungsfällen (Use Cases) wie Vorschau (Preview), Bildanalyse (Image Analysis) und Bildaufnahme (Image Capture). Jeder Anwendungsfall kann separat konfiguriert werden, um spezifische Anforderungen zu erfüllen.

Auflösungsmanagement in CameraX

CameraX kann die Auflösung automatisch basierend auf den verwendeten Anwendungsfällen, den Gerätefähigkeiten und dem gewünschten Seitenverhältnis auswählen. Dies ist oft der Standardansatz, um die Kompatibilität über eine Vielzahl von Geräten hinweg zu maximieren.

Standardmäßig versucht CameraX, die bestmögliche Auflösung zu finden, die den Anforderungen der gebundenen Anwendungsfälle entspricht. Für die Bildaufnahme und Bildanalyse ist das Standard-Seitenverhältnis oft 4:3. Wenn Sie ein bestimmtes Seitenverhältnis für Ihre Benutzeroberfläche vorgeben möchten, können Sie dies in der Konfiguration des Anwendungsfalls angeben. CameraX wählt dann die bestmögliche unterstützte Auflösung, die diesem Seitenverhältnis am nächsten kommt.

Alternativ können Sie eine spezifische Zielauflösung festlegen. Dies ist nützlich, wenn Sie eine bestimmte Verarbeitungsgröße benötigen, z. B. für die Bildanalyse. Sie können die Methode setTargetResolution(Size resolution) verwenden, um eine gewünschte Größe anzugeben.

Wie kann die Leistung von OnePlus 7 verbessert werden?
Wenn Ihr OnePlus-Smartphone anfangs schnell lief, aber in letzter Zeit langsam wird, überprüfen Sie die letzten heruntergeladenen Apps. Eine davon ist wahrscheinlich der Übeltäter und muss entfernt werden. Manchmal denken wir, es liege am Gerät selbst, aber in Wirklichkeit ist es eine schlechte App, die die Leistung unseres Smartphones beeinträchtigt.

Wichtig: Sie können nicht gleichzeitig ein Ziel-Seitenverhältnis und eine spezifische Zielauflösung für denselben Anwendungsfall festlegen. Dies führt zu einem Fehler.

CameraX wählt die internen Camera2-Oberflächenauflösungen automatisch aus. Die tatsächlich verwendete Auflösung kann von der angeforderten Zielauflösung abweichen, da CameraX die nächstgelegene unterstützte Größe wählt, die nicht kleiner ist als die Zielauflösung. Wenn keine unterstützte Auflösung existiert, die größer oder gleich der Zielauflösung ist, wird die nächstgelegene kleinere Auflösung gewählt. Auflösungen mit demselben Seitenverhältnis wie die angegebene Größe haben eine höhere Priorität.

Hier ist eine Übersicht über die Auflösungsauswahl für verschiedene Anwendungsfälle in CameraX:

AnwendungsfallInterne OberflächenauflösungAusgabe-Datenauflösung
Vorschau (Preview)Auflösung, die am besten zum Ziel-Seitenverhältnis passt.Interne Oberflächenauflösung. Metadaten werden bereitgestellt, um eine Ansicht (View) für das Ziel-Seitenverhältnis zuzuschneiden, zu skalieren und zu rotieren.
Bildanalyse (Image Analysis)Auflösung, die am besten zum Ziel-Seitenverhältnis passt. Standard-Zielauflösung ist 640x480.Interne Oberflächenauflösung. Standardmäßig 640x480. Um höhere Auflösungen zu erhalten, müssen setTargetResolution() und setTargetAspectRatio() verwendet werden.
Bildaufnahme (Image Capture)Auflösung, die am besten zum Ziel-Seitenverhältnis passt.Höchste verfügbare Auflösung im JPEG-Format, die dem Seitenverhältnis entspricht.

Wenn Ihre App eine exakte Auflösung benötigt, sollten Sie prüfen, welche maximale Auflösung von der Hardware des Geräts unterstützt wird (z. B. über StreamConfigurationMap.getOutputSizes()).

Erweiterte Kamerasteuerung mit CameraX

Über die Auflösung hinaus bietet CameraX über die Objekte CameraControl und CameraInfo Zugriff auf weitere wichtige Kamerafunktionen. CameraControl ermöglicht die Konfiguration von Features, während CameraInfo Informationen über den Zustand dieser Features liefert.

  • Zoom: Sie können den Zoomfaktor entweder direkt mit setZoomRatio() oder linear mit setLinearZoom() einstellen. Der aktuelle Zoom-Zustand kann über CameraInfo.getZoomState() als LiveData beobachtet werden.
  • Taschenlampe (Torch): Die Taschenlampe kann mit CameraControl.enableTorch(boolean) ein- oder ausgeschaltet werden. Der aktuelle Zustand ist über CameraInfo.getTorchState() abfragbar. Die Verfügbarkeit der Taschenlampe kann mit CameraInfo.hasFlashUnit() geprüft werden. Ist die Taschenlampe aktiviert, bleibt sie während der Foto- und Videoaufnahme an, unabhängig von der flashMode-Einstellung.
  • Fokus und Belichtungsmessung: Die Funktion startFocusAndMetering() ermöglicht das Auslösen von Autofokus und Belichtungsmessung basierend auf definierten Bereichen. Dies wird oft für Features wie "Tap-to-Focus" verwendet. Sie erstellen MeteringPoint-Objekte, die Punkte auf der Kameraoberfläche darstellen, und kombinieren sie in einem FocusMeteringAction. CameraX versucht, die Aktion bestmöglich auszuführen, abhängig von der Unterstützung des Geräts für AF/AE/AWB-Regionen.
  • Belichtungskorrektur (Exposure Compensation): Mit setExposureCompensationIndex() können Sie die Belichtung feinjustieren. Positive Indexwerte machen das Bild heller, negative dunkler. Der unterstützte Bereich und der aktuelle Index können über CameraInfo.getExposureState() abgefragt werden.

Weitere Konfigurationsmöglichkeiten

CameraX bietet zusätzliche Möglichkeiten zur Anpassung:

  • Rotation: Standardmäßig passt sich die Kamerarotation der Displayrotation an. Sie können die Zielrotation jedoch auch manuell festlegen, um verschiedene Display-Konfigurationen zu unterstützen oder wenn die App in einer festen Ausrichtung läuft.
  • Zuschneidebereich (Crop Rect): Mit ViewPort und UseCaseGroup können Sie definieren, welcher Bereich des Kamerasensors für alle gebundenen Anwendungsfälle verwendet wird. Dies stellt sicher, dass das, was in der Vorschau (Preview) sichtbar ist, auch dem entspricht, was in der Bildanalyse oder Bildaufnahme verarbeitet oder gespeichert wird (WYSIWYG - What You See Is What You Get).
  • Kameraauswahl: CameraX wählt automatisch die beste Kamera für die Anforderungen aus. Sie können jedoch auch explizit die vordere oder hintere Standardkamera auswählen oder Filter anwenden, um spezifische Geräte anhand ihrer Eigenschaften auszuwählen. Seit CameraX 1.3 ist auch die gleichzeitige Auswahl und Nutzung mehrerer Kameras möglich.
  • CameraXConfig: Für erweiterte Anpassungen können Sie die CameraXConfig verwenden, um interne Einstellungen wie Executors, Scheduler oder das Logging-Level zu ändern. Dies ist nützlich für spezielle Anwendungsanforderungen.

Häufig gestellte Fragen (FAQ)

Hier beantworten wir einige häufige Fragen zur Kamerasteuerung unter Android basierend auf den bereitgestellten Informationen:

Was ist CameraX?

CameraX ist eine Android-Bibliothek, die die Entwicklung von Kamera-Apps vereinfacht, indem sie einen konsistenten, einfach zu bedienenden API-Satz über verschiedene Android-Versionen und Geräte hinweg bietet.

Ist die Kamera des OnePlus 6 gut?
Die Belichtung ist bei hellem Licht sehr genau und auch bei schwachem Licht und verschiedenen künstlichen Lichtquellen noch sehr gut. Im HDR-Modus verfügt die Kamera des OnePlus 6 über einen sehr guten Dynamikumfang, aber in Szenen mit sehr hohem Kontrast bleiben einige der feinen Details in den dunkelsten und hellsten Bildbereichen nicht erhalten .

Kann ich gleichzeitig das Seitenverhältnis und eine spezifische Auflösung in CameraX festlegen?

Nein, Sie können entweder ein Ziel-Seitenverhältnis oder eine spezifische Zielauflösung für einen Anwendungsfall in CameraX festlegen. Wenn Sie beides versuchen, führt dies zu einem Fehler.

Wie wählt CameraX die Auflösung aus, wenn ich keine spezifische Auflösung festlege?

CameraX wählt die Auflösung automatisch basierend auf den gebundenen Anwendungsfällen, den Gerätefähigkeiten, dem unterstützten Hardware-Level und dem gewünschten Seitenverhältnis, um die Kompatibilität und Leistung zu optimieren.

Wie funktioniert die "Tap-to-Focus"-Funktion mit CameraX?

Die "Tap-to-Focus"-Funktion kann mit der Methode startFocusAndMetering() implementiert werden. Sie erstellen ein FocusMeteringAction, das einen oder mehrere MeteringPoints enthält, um die Bereiche für Fokus, Belichtung und Weißabgleich festzulegen.

Bleibt die Taschenlampe (Torch) an, wenn ich sie über CameraControl aktiviere und dann ein Foto mache, das eine Blitzeinstellung (flashMode) hat?

Ja, wenn die Taschenlampe über CameraControl.enableTorch(true) aktiviert ist, bleibt sie während der Aufnahme an, unabhängig von der Einstellung des flashMode in der Bildaufnahme-Konfiguration.

Fazit

Die Kontrolle über die Kameraauflösung ist nur ein Aspekt der vielfältigen Möglichkeiten, die moderne Smartphone-Kameras bieten. Während einfache Anpassungen oft direkt in der Standard-App möglich sind, ermöglicht die CameraX-Bibliothek Entwicklern eine tiefgreifende Steuerung und Anpassung von Funktionen wie Auflösung, Zoom, Fokus, Belichtung und mehr. Das Verständnis dieser Optionen hilft sowohl Nutzern, die besten Einstellungen für ihre Bedürfnisse zu finden, als auch Entwicklern, leistungsfähige und vielseitige Kameraanwendungen zu erstellen.

Hat dich der Artikel Kameraauflösung & Steuerung verstehen interessiert? Schau auch in die Kategorie Fotografie rein – dort findest du mehr ähnliche Inhalte!

Avatar photo

Andenmatten Soltermann

Hallo! Ich bin Andenmatten Soltermann, ein Schweizer Fotograf, der leidenschaftlich die Essenz der Welt durch seine Linse einfängt. Geboren und aufgewachsen in den majestätischen Schweizer Alpen, haben die deutsche Sprache und atemberaubende Landschaften meine kreative Vision geprägt. Meine Liebe zur Fotografie begann mit einer alten analogen Kamera, und seitdem widme ich mein Leben der Kunst, visuelle Geschichten zu erzählen, die berühren und verbinden.In meinem Blog teile ich praktische Tipps, Techniken und Erfahrungen, um dir zu helfen, deine fotografischen Fähigkeiten zu verbessern – egal, ob du ein neugieriger Anfänger oder ein erfahrener Profi bist. Von der Beherrschung des natürlichen Lichts bis hin zu Ratschlägen für wirkungsvolle Bildkompositionen ist es mein Ziel, dich zu inspirieren, die Welt mit neuen Augen zu sehen. Mein Ansatz verbindet Technik mit Leidenschaft, immer auf der Suche nach dem Funken, der ein Foto unvergesslich macht.Wenn ich nicht hinter der Kamera stehe, findest du mich auf Bergpfaden, auf Reisen nach neuen Perspektiven oder beim Genießen der Schweizer Traditionen, die mir so am Herzen liegen. Begleite mich auf dieser visuellen Reise und entdecke, wie Fotografie die Art und Weise, wie du die Welt siehst, verändern kann.

Go up