Camera QML Type

フォーカスやズームに関するカメラ設定のためのインターフェース。詳細...

Import Statement: import QtMultimedia
In C++: QCamera

プロパティ

シグナル

メソッド

詳細説明

Camera 要素は、CaptureSession 内でビデオ録画や画像撮影に使用できます。

MediaDevices を使用して、使用可能なカメラを一覧表示し、使用するカメラを選択できます。

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

サポートしているハードウェアでは、QCamera 、フォーカスとズームを調整できます。また、近接作業(バーコードの読み取りや文字の認識など)用の「マクロ」モードや、「タッチでフォーカス」(ハードウェアがフォーカスを合わせようとする画像の興味深い領域を示す)などの機能もあります。

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
    }
}

minimumZoomFactor およびmaximumZoomFactor プロパティは、サポートされるズーム倍率の範囲を提供します。zoomFactor プロパティでは、ズーム倍率を変更することができます。

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

カメラフレームの生データをキャプチャした後、カメラのハードウェアとソフトウェアはさまざまな画像処理タスクを実行し、最終的な画像を生成します。これには、環境光の色の補正、ノイズの低減、画像のその他の調整などが含まれます。

これらの処理手順の多くは、[カメラ] プロパティで制御できます。たとえば、画像の処理に使用するホワイトバランス(または色温度)を設定できます:

Camera {
    whiteBalanceMode: Camera.WhiteBalanceManual
    colorTemperature: 5600
}

カメラフレームの画像処理の詳細については、カメラの画像処理を参照してください。

詳細については、カメラの概要を参照してください。

プロパティの説明

active : bool

カメラが現在アクティブかどうかを示します。


cameraDevice : cameraDevice

現在アクティブなカメラデバイスを取得または設定します。

カメラデバイスを切り替えると、QCamera の機能が更新されます。さらに、QCamera'の制御プロパティ (focusMode,flashMode,focusDistance,zoomFactor など)も以下のように更新されます:

  • プロパティが新しいデバイスでサポートされている場合、そのプロパティ値がカ メラ・デバイスに適用されます。
  • プロパティがサポートされているが、有効な値の範囲が変更されている場合、プロパティは新しい範囲にクランプされ、カメラデバイスに適用されます。
  • 新しいカメラデバイスがプロパティをサポートしていない場合、プロパティ値はデフォルトにリセットされ、カメラデバイスへの変更は行われません。

cameraFormat : cameraFormat

現在アクティブなカメラフォーマットを取得または設定します。

注意: Androidターゲット・デバイスでFFMPEGバックエンドを使用する場合、YUV420Pフォーマットを要求すると、フル・プレーナー4:2:0 YUV420Pまたはセミ・プレーナーNV12/NV21のいずれかを受信します。これは、デバイスOEMが実装するコーデックに依存します。

cameraDevice::videoFormatsも参照してください


customFocusPoint : point

このプロパティは、カスタムフォーカス点の位置を相対フレーム座標で保持します。つまり、QPointF(0,0) はフレームの左上隅を指し、QPointF(0.5,0.5) はフレームの中央を指します。

カスタムフォーカスポイントはFocusPointCustom フォーカスモードでのみ使用されます。

カスタム・フォーカス・ポイントがサポートされているかどうかは、Feature.CustomFocusPoint フラグを指定して supportedFeatures() をクエリすることで確認できます。


error : enumeration [read-only]

カメラのエラー状態を返します。

QCamera::Errorも参照してください


errorString : string [read-only]

カメラのエラー状態を説明する可読文字列を返します。


exposureCompensation : real

露出補正を EV 単位で取得または設定します。

露出補正プロパティは、自動的に計算される露出を調整することができます。


exposureMode : ExposureMode

使用中の露出モード。

QCamera::ExposureMode およびCamera::isExposureModeSupported()も参照


exposureTime : float [read-only]

カメラの露光時間を秒単位で返します。

manualExposureTime参照して ください。


flashMode : enumeration

カメラにフラッシュがある場合、特定のフラッシュモードを取得または設定します。

定数説明
Camera.FlashOffフラッシュはオフです。
Camera.FlashOnフラッシュはオンです。
Camera.FlashAuto自動フラッシュ。

isFlashModeSupported およびisFlashReadyも参照してください


flashReady : bool [read-only]

フラッシュが充電され、使用可能な状態であるかどうかを示す。


focusDistance : float

このプロパティは、カメラデバイスがマニュアルフォーカスモードで動作する場合の、 レンズフォーカス距離を定義する。有効な値は 0 ~ 1 で、0 は可能な限り近いフォーカス距離、1 は最も遠いフォーカス距離です。最も遠い点は通常無限遠ですが、これはすべてのデバイスに当てはまるとは限りません。

このプロパティがデバイスに適用されるのは、focusMode が Camera.FocusModeManual に設定され、supportedFeatures に Camera.FocusDistance フラグが含まれている場合のみです。

focusMode が Camera.FocusModeManual に設定されていない間にこのプロパティに値を割り当てた場合、プロパティは値を保存しますが、Camera.FocusModeManual がアクティブになるまでデバイスには影響しません。

有効範囲[0, 1]外の値を割り当てても、このプロパティに影響はありません。

supportedFeatures に Camera.FocusDistance フラグが含まれていない場合、このプロパティを設定しようとしても無視されます。

カメラがオートフォーカスモードの場合、このプロパティは更新されません。

デフォルト値は 1。


focusMode : enumeration

このプロパティは、カメラデバイスのフォーカスモードを制御する値を保持する。全てのオートフォーカスモードでは、カメラデバイスは連続的にフォーカスを合わせ続けます。

注: オートフォーカスモードで、サポートされている場合、focusPoint プロパティは、フォーカスされている画像の領域に関する情報と制御を提供します。

定数説明
Camera.FocusModeAuto連続オートフォーカスモード。
Camera.FocusModeAutoNear連続オートフォーカス、カメラに近いオブジェクトを優先する。
Camera.FocusModeAutoFar連続オートフォーカス、カメラから遠いオブジェクトを好む。
Camera.FocusModeHyperfocal被写界深度を最大にして、超焦点距離までピントを合わせます。被写界深度が最大になるように、超焦点距離でピントを合わせます。
Camera.FocusModeInfinity厳密に無限遠にピントを合わせる。
Camera.FocusModeManualレンズの焦点距離はfocusDistance で指定された値に設定されます。

カメラデバイスが特定のフォーカスモードをサポートしているかどうかを調べるには、対応する FocusMode 値をパラメータとしてisFocusModeSupported 関数に渡します。フォーカスモードの値がサポートされていない場合、この関数は false を返します。このモードを focusMode プロパティに代入しても効果はありません。

focusMode プロパティを Camera.FocusModeManual に設定すると、レンズはfocusDistance に従ってフォーカスをロックします。

isFocusModeSupportedも参照してください


focusPoint : point [read-only]

現在オートフォーカスシステムが使用しているフォーカスポイントを返します。


isoSensitivity : int [read-only]

カメラが現在使用している ISO 感度を返します。


manualExposureTime : real

マニュアル露光時間を取得または設定する。

このプロパティを-1(デフォルト)に設定すると、カメラが自動的に露光時間を決定する。


manualIsoSensitivity : int

手動で設定されたISO感度を記述する。

このプロパティを-1(デフォルト)に設定すると、カメラが自動的に ISO 感度を調整することを意味する。


maximumZoomFactor : real [read-only]

最大ズーム倍率 このプロパティは、サポートされる最大ズーム倍率を保持する。

ズームに対応していないカメラでは、1.0


minimumZoomFactor : real [read-only]

このプロパティは、サポートされる最小ズーム倍率を保持する。

ズームに対応していないカメラでは、1.0 になります。


supportedFeatures : Features [read-only]

このカメラがサポートする機能を返します。

QCamera::Featureも参照


torchMode : Camera::TorchMode

使用中のトーチモードを取得または設定します。

トーチは連続光源です。暗い場所でのビデオ撮影時に使用できます。トーチモードを有効にすると、通常、現在設定されているフラッシュモードが上書きされます。

QCamera::TorchModeCamera::isTorchModeSupported()、Camera::flashModeも参照


whiteBalanceMode : WhiteBalanceMode

使用中のホワイトバランスモードを取得または設定します。

QCamera::WhiteBalanceModeも参照


zoomFactor : real

現在のズーム倍率を取得または設定します。値はminimumZoomFactormaximumZoomFactor の間でクランプされます。


シグナル ドキュメント

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

このシグナルは、エラー状態がerror に変化したときに発せられる。エラーの説明はerrorString として提供されます。

注意: 対応するハンドラはonErrorOccurred です。


メソッド・ドキュメント

colorTemperature()

現在の色温度を取得または設定します。

色温度の設定は、WhiteBalanceManual がサポートされている場合にのみ効果があります。この場合、0 を超える温度を設定すると、ホワイトバランスモードは自動的に WhiteBalanceManual に設定されます。温度を 0 に設定すると、ホワイトバランスモードは WhiteBalanceAuto にリセットされます。


bool isExposureModeSupported(ExposureMode mode)

露出mode がサポートされている場合は true を返します。


bool isFlashModeSupported(FlashMode mode)

フラッシュmode がサポートされている場合は true を返します。


bool isFlashReady()

フラッシュが充電されていれば真を返す。


bool isFocusModeSupported(FocusMode mode)

フォーカスmode がカメラによってサポートされている場合、true を返す。

FocusModeManual がサポートされていると報告された場合、Feature::FocusDistance 機能もサポートされていると見なされます。


bool isTorchModeSupported(TorchMode mode)

トーチmode がサポートされている場合、true を返す。


bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)

ホワイトバランスmode がサポートされている場合、true を返します。


void start()

カメラを起動します。

active プロパティを true に設定するのと同じ。

何らかの理由でカメラを起動できない場合は、errorOccurred() シグナルを発信します。


void stop()

カメラを停止します。activeプロパティをfalseに設定するのと同じです。


void zoomTo(factor, rate)

rate を使用して、ズーム倍率factor にズームします。

rate は秒あたりの2の累乗で指定します。レート1の場合、ズーム・ファクター1から4まで2秒かかります。

注: 特定のレートを使用することは、すべてのカメラでサポートされているわけではありません。サポートされていない場合、ズームは可能な限り速く行われます。


本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。