Camera QML Type

Eine Schnittstelle für Kameraeinstellungen in Bezug auf Fokus und Zoom. Mehr...

Import Statement: import QtMultimedia
In C++: QCamera

Eigenschaften

Signale

Methoden

Detaillierte Beschreibung

Das Kamera-Element kann innerhalb einer CaptureSession für Video- und Bildaufnahmen verwendet werden.

Sie können MediaDevices verwenden, um die verfügbaren Kameras aufzulisten und die zu verwendende Kamera auszuwählen.

MediaDevices {
    id: mediaDevices
}
CaptureSession {
    camera: Camera {
        cameraDevice: mediaDevices.defaultVideoInput
    }
}

Auf Hardware, die dies unterstützt, können Sie mit QCamera den Fokus und den Zoom einstellen. Dazu gehören auch Funktionen wie ein "Makro"-Modus für Arbeiten im Nahbereich (z. B. das Lesen von Barcodes oder das Erkennen von Buchstaben) oder "Berühren zum Fokussieren", d. h. die Angabe eines interessanten Bildbereichs, auf den die Hardware scharfstellen soll.

Item {
    width: 640
    height: 360

    CaptureSession {
        camera: Camera {
            id: camera

            focusMode: Camera.FocusModeAutoNear
            customFocusPoint: Qt.point(0.2, 0.2) // Focus relative to top-left corner
        }
        videoOutput: videoOutput
    }

    VideoOutput {
        id: videoOutput
        anchors.fill: parent
    }
}

Die Eigenschaften minimumZoomFactor und maximumZoomFactor geben den Bereich der unterstützten Zoomfaktoren an. Die Eigenschaft zoomFactor ermöglicht das Ändern des Zoomfaktors.

Camera {
    zoomFactor: maximumZoomFactor // zoom in as much as possible
}

Nach der Erfassung der Rohdaten für ein Kamerabild führen die Kamera-Hardware und -Software verschiedene Bildverarbeitungsaufgaben durch, um das endgültige Bild zu erzeugen. Dazu gehören der Farbausgleich für das Umgebungslicht, die Rauschunterdrückung und einige andere Anpassungen des Bildes.

Sie können viele dieser Verarbeitungsschritte über die Kameraeigenschaften steuern. So können Sie beispielsweise den Weißabgleich (oder die Farbtemperatur) für die Bildverarbeitung festlegen:

Camera {
    whiteBalanceMode: Camera.WhiteBalanceManual
    colorTemperature: 5600
}

Weitere Informationen zur Bildverarbeitung von Kamerabildern finden Sie unter Bildverarbeitung der Kamera.

Weitere Informationen finden Sie in der Kameraübersicht.

Eigenschaft Dokumentation

active : bool

Beschreibt, ob die Kamera gerade aktiv ist.


cameraDevice : cameraDevice

Liest oder setzt das aktuell aktive Kameragerät.

Beim Wechsel des Kamerageräts werden die Fähigkeiten von QCamera aktualisiert. Außerdem werden die Steuereigenschaften von QCamera(z. B. focusMode, flashMode, focusDistance, zoomFactor) wie folgt aktualisiert:

  • Wenn eine Eigenschaft auf dem neuen Gerät unterstützt wird, wird der Eigenschaftswert auf das Kameragerät angewendet.
  • Wenn eine Eigenschaft unterstützt wird, aber ihr Wertebereich geändert wurde, wird die Eigenschaft auf den neuen Wertebereich geklemmt und auf das Kameragerät angewendet.
  • Wenn das neue Kameragerät eine Eigenschaft nicht unterstützt, wird der Eigenschaftswert auf den Standardwert zurückgesetzt, und es werden keine Änderungen an dem Kameragerät vorgenommen.

cameraFormat : cameraFormat

Liest oder setzt das aktuell aktive Kameraformat.

Hinweis: Wenn Sie das FFMPEG-Backend auf einem Android-Zielgerät verwenden und das Format YUV420P anfordern, erhalten Sie entweder ein vollständig planares 4:2:0 YUV420P oder ein semi-planares NV12/NV21. Dies hängt von dem vom Geräte-OEM implementierten Codec ab.

Siehe auch cameraDevice::videoFormats.


customFocusPoint : point

Diese Eigenschaft enthält die Position des benutzerdefinierten Fokuspunkts in relativen Rahmenkoordinaten. Das bedeutet, dass QPointF(0,0) auf die linke obere Ecke des Rahmens und QPointF(0.5,0.5) auf die Mitte des Rahmens zeigt.

Der benutzerdefinierte Fokuspunkt wird nur im Fokusmodus FocusPointCustom verwendet.

Sie können prüfen, ob benutzerdefinierte Fokuspunkte unterstützt werden, indem Sie supportedFeatures() mit dem Flag Feature.CustomFocusPoint abfragen.


error : enumeration [read-only]

Gibt den Fehlerstatus der Kamera zurück.

Siehe auch QCamera::Error.


errorString : string [read-only]

Gibt einen lesbaren String zurück, der den Fehlerstatus der Kamera beschreibt.


exposureCompensation : real

Liest oder setzt die Belichtungskompensation in EV-Einheiten.

Mit der Eigenschaft Belichtungskorrektur können Sie die automatisch berechnete Belichtung anpassen.


exposureMode : ExposureMode

Der verwendete Belichtungsmodus.

Siehe auch QCamera::ExposureMode und Camera::isExposureModeSupported().


exposureTime : real [read-only]

Gibt die Belichtungszeit der Kamera in Sekunden zurück.

Siehe auch manualExposureTime.


flashMode : enumeration

Liest oder setzt einen bestimmten Blitzmodus, wenn die Kamera über einen Blitz verfügt.

KonstanteBeschreibung
Camera.FlashOffBlitz ist ausgeschaltet.
Camera.FlashOnBlitz ist eingeschaltet.
Camera.FlashAutoAutomatischer Blitz.

Siehe auch isFlashModeSupported und isFlashReady.


flashReady : bool [read-only]

Zeigt an, ob der Blitz aufgeladen und einsatzbereit ist.


focusDistance : real

Diese Eigenschaft definiert den Fokusabstand des Objektivs, wenn das Kameragerät im manuellen Fokusmodus arbeitet. Gültige Werte reichen von 0 bis 1, wobei 0 die kürzeste mögliche Fokusentfernung und 1 die weiteste ist. Der am weitesten entfernte Punkt liegt normalerweise bei unendlich, aber das ist nicht bei allen Geräten der Fall.

Diese Eigenschaft wird nur auf das Gerät angewendet, wenn focusMode auf Camera.FocusModeManual gesetzt ist und supportedFeatures das Camera.FocusDistance-Flag enthält.

Wenn Sie dieser Eigenschaft einen Wert zuweisen, während focusMode nicht auf Camera.FocusModeManual gesetzt ist, speichert die Eigenschaft den Wert, wirkt sich aber erst auf das Gerät aus, wenn Camera.FocusModeManual aktiv ist.

Die Zuweisung eines Wertes außerhalb des gültigen Bereichs [0, 1] hat keine Auswirkungen auf diese Eigenschaft.

Wenn supportedFeatures das Flag Camera.FocusDistance nicht enthält, wird jeder Versuch, diese Eigenschaft zu setzen, ignoriert.

Diese Eigenschaft wird von der Kamera nicht aktualisiert, wenn sie sich in einem automatischen Fokusmodus befindet.

Der Standardwert ist 1.


focusMode : enumeration

Diese Eigenschaft enthält den Wert, der den Fokusmodus für das Kameragerät steuert. In allen Autofokus-Modi fokussiert das Kameragerät fortlaufend.

Hinweis: In den Modi der automatischen Fokussierung und sofern unterstützt, liefert die Eigenschaft focusPoint Informationen und Kontrolle über den Bereich des Bildes, der fokussiert wird.

KonstantBeschreibung
Camera.FocusModeAutoKontinuierlicher Autofokus-Modus.
Camera.FocusModeAutoNearKontinuierlicher Autofokus, der Objekte in der Nähe der Kamera bevorzugt.
Camera.FocusModeAutoFarKontinuierlicher Autofokus, der weit von der Kamera entfernte Objekte bevorzugt.
Camera.FocusModeHyperfocalFokussierung auf hyperfokale Entfernung, wobei die maximale Schärfentiefe erreicht wird. Alle Objekte in Entfernungen ab der Hälfte dieser Entfernung bis hin zu unendlich sind akzeptabel scharf.
Camera.FocusModeInfinityStrenge Fokussierung auf unendlich.
Camera.FocusModeManualDie Fokusentfernung des Objektivs wird auf einen durch focusDistance festgelegten Wert eingestellt.

Um zu prüfen, ob das Kameragerät einen bestimmten Fokusmodus unterstützt, übergeben Sie den entsprechenden FocusMode-Wert als Parameter an die Funktion isFocusModeSupported. Die Funktion gibt false zurück, wenn der Fokusmoduswert nicht unterstützt wird. Die Zuweisung dieses Modus an die Eigenschaft focusMode hat keine Auswirkungen.

Wenn Sie die Eigenschaft focusMode auf Camera.FocusModeManual setzen, wird das Objektiv gemäß focusDistance auf den Fokus eingestellt.

Siehe auch isFocusModeSupported.


focusPoint : point [read-only]

Gibt den Punkt zurück, auf den das Autofokussystem derzeit fokussiert.


isoSensitivity : int [read-only]

Beschreibt die ISO-Empfindlichkeit, die derzeit von der Kamera verwendet wird.


manualExposureTime : real

Liest oder setzt eine manuelle Belichtungszeit.

Wenn Sie diese Eigenschaft auf -1 setzen (Standardeinstellung), bedeutet dies, dass die Kamera die Belichtungszeit automatisch bestimmt.


manualIsoSensitivity : int

Beschreibt eine manuell eingestellte ISO-Empfindlichkeit

Wenn Sie diese Eigenschaft auf -1 (Standardeinstellung) setzen, bedeutet dies, dass die Kamera die ISO-Empfindlichkeit automatisch anpasst.


maximumZoomFactor : real [read-only]

Diese Eigenschaft gibt den maximal unterstützten Zoomfaktor an.

Bei Kameras, die das Zoomen nicht unterstützen, ist dies 1.0.


minimumZoomFactor : real [read-only]

Diese Eigenschaft gibt den minimalen unterstützten Zoomfaktor an.

Bei Kameras, die das Zoomen nicht unterstützen, lautet dieser Wert 1.0.


supportedFeatures : Features [read-only]

Gibt die von dieser Kamera unterstützten Funktionen zurück.

Siehe auch QCamera::Feature.


torchMode : Camera::TorchMode

Liest oder setzt den verwendeten Taschenlampenmodus.

Eine Taschenlampe ist eine kontinuierliche Lichtquelle. Sie kann während der Videoaufzeichnung bei schlechten Lichtverhältnissen verwendet werden. Das Aktivieren des Taschenlampenmodus überschreibt in der Regel den aktuell eingestellten Blitzmodus.

Siehe auch QCamera::TorchMode, Camera::isTorchModeSupported(), und Camera::flashMode.


whiteBalanceMode : WhiteBalanceMode

Ruft den verwendeten Weißabgleichsmodus ab oder stellt ihn ein.

Siehe auch QCamera::WhiteBalanceMode.


zoomFactor : real

Ruft den aktuellen Zoomfaktor ab oder legt ihn fest. Die Werte werden zwischen minimumZoomFactor und maximumZoomFactor eingegrenzt.


Signal Dokumentation

void errorOccurred(Camera::Error error, string errorString)

Dieses Signal wird ausgegeben, wenn der Fehlerstatus zu error wechselt. Eine Beschreibung des Fehlers wird als errorString bereitgestellt.

Hinweis: Der entsprechende Handler ist onErrorOccurred.


Dokumentation der Methode

colorTemperature()

Liest oder setzt die aktuelle Farbtemperatur.

Das Setzen einer Farbtemperatur hat nur dann eine Wirkung, wenn WhiteBalanceManual unterstützt wird. In diesem Fall wird der Weißabgleichsmodus automatisch auf WhiteBalanceManual gesetzt, wenn eine Temperatur größer als 0 eingestellt wird. Wird die Temperatur auf 0 gesetzt, wird der Weißabgleichsmodus auf WhiteBalanceAuto zurückgesetzt.


bool isExposureModeSupported(ExposureMode mode)

Gibt true zurück, wenn die Belichtung mode unterstützt wird.


bool isFlashModeSupported(FlashMode mode)

Gibt true zurück, wenn der Blitz mode unterstützt wird.


bool isFlashReady()

Gibt true zurück, wenn der Blitz aufgeladen ist.


bool isFocusModeSupported(FocusMode mode)

Gibt true zurück, wenn der Fokus mode von der Kamera unterstützt wird.

Wenn FocusModeManual als unterstützt gemeldet wird, wird angenommen, dass die Funktion Feature::FocusDistance ebenfalls unterstützt wird.


bool isTorchModeSupported(TorchMode mode)

Gibt true zurück, wenn die Taschenlampe mode unterstützt wird.


bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)

Gibt true zurück, wenn der Weißabgleich mode unterstützt wird.


void start()

Startet die Kamera.

Entspricht dem Setzen der Eigenschaft active auf true.

Wenn die Kamera aus irgendeinem Grund nicht gestartet werden kann, wird das Signal errorOccurred() ausgegeben.


void stop()

Stoppt die Kamera. Entspricht dem Setzen der Eigenschaft active auf false.


void zoomTo(factor, rate)

Zoomt mit rate auf einen Zoomfaktor factor.

Der rate wird in Zweierpotenzen pro Sekunde angegeben. Bei einer Rate von 1 würde es 2 Sekunden dauern, von einem Zoomfaktor von 1 auf 4 zu wechseln.

Hinweis: Die Verwendung einer bestimmten Rate wird nicht von allen Kameras unterstützt. Wenn dies nicht der Fall ist, wird der Zoom so schnell wie möglich durchgeführt.


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.