Camera QML Type
フォーカスやズームに関するカメラ設定のためのインターフェース。詳細...
Import Statement: | import QtMultimedia |
In C++: | QCamera |
プロパティ
- active : bool
- cameraDevice : cameraDevice
- cameraFormat : cameraFormat
- customFocusPoint : point
- error : enumeration
- errorString : string
- exposureCompensation : real
- exposureMode : ExposureMode
- exposureTime : float
- flashMode : enumeration
- flashReady : bool
- focusDistance : float
- focusMode : enumeration
- focusPoint : point
- isoSensitivity : int
- manualExposureTime : real
- manualIsoSensitivity : int
- maximumZoomFactor : real
- minimumZoomFactor : real
- supportedFeatures : Features
- torchMode : Camera::TorchMode
- whiteBalanceMode : WhiteBalanceMode
- zoomFactor : real
シグナル
- void errorOccurred(Camera::Error error, string errorString)
メソッド
- colorTemperature()
- bool isExposureModeSupported(ExposureMode mode)
- bool isFlashModeSupported(FlashMode mode)
- bool isFlashReady()
- bool isFocusModeSupported(FocusMode mode)
- bool isTorchModeSupported(TorchMode mode)
- bool isWhiteBalanceModeSupported(WhiteBalanceMode mode)
- void start()
- void stop()
- void zoomTo(factor, rate)
詳細説明
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 |
error : enumeration |
カメラのエラー状態を返します。
QCamera::Errorも参照してください 。
errorString : string |
カメラのエラー状態を説明する可読文字列を返します。
exposureCompensation : real |
露出補正を EV 単位で取得または設定します。
露出補正プロパティは、自動的に計算される露出を調整することができます。
exposureMode : ExposureMode |
使用中の露出モード。
QCamera::ExposureMode およびCamera::isExposureModeSupported()も参照 。
exposureTime : float |
カメラの露光時間を秒単位で返します。
manualExposureTime も参照して ください。
flashMode : enumeration |
カメラにフラッシュがある場合、特定のフラッシュモードを取得または設定します。
定数 | 説明 |
---|---|
Camera.FlashOff | フラッシュはオフです。 |
Camera.FlashOn | フラッシュはオンです。 |
Camera.FlashAuto | 自動フラッシュ。 |
isFlashModeSupported およびisFlashReadyも参照してください 。
flashReady : bool |
フラッシュが充電され、使用可能な状態であるかどうかを示す。
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 |
現在オートフォーカスシステムが使用しているフォーカスポイントを返します。
isoSensitivity : int |
カメラが現在使用している ISO 感度を返します。
manualExposureTime : real |
マニュアル露光時間を取得または設定する。
このプロパティを-1(デフォルト)に設定すると、カメラが自動的に露光時間を決定する。
manualIsoSensitivity : int |
手動で設定されたISO感度を記述する。
このプロパティを-1(デフォルト)に設定すると、カメラが自動的に ISO 感度を調整することを意味する。
maximumZoomFactor : real |
最大ズーム倍率 このプロパティは、サポートされる最大ズーム倍率を保持する。
ズームに対応していないカメラでは、1.0
。
minimumZoomFactor : real |
このプロパティは、サポートされる最小ズーム倍率を保持する。
ズームに対応していないカメラでは、1.0
になります。
supportedFeatures : Features |
このカメラがサポートする機能を返します。
QCamera::Featureも参照 。
torchMode : Camera::TorchMode |
使用中のトーチモードを取得または設定します。
トーチは連続光源です。暗い場所でのビデオ撮影時に使用できます。トーチモードを有効にすると、通常、現在設定されているフラッシュモードが上書きされます。
QCamera::TorchMode 、Camera::isTorchModeSupported()、Camera::flashModeも参照 。
whiteBalanceMode : WhiteBalanceMode |
使用中のホワイトバランスモードを取得または設定します。
zoomFactor : real |
現在のズーム倍率を取得または設定します。値はminimumZoomFactor とmaximumZoomFactor の間でクランプされます。
シグナル ドキュメント
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() |
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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。