現在、低品質でビデオをキャプチャしているときに、最高の品質で画像を撮ろうとしています。問題は、顔がカムの前にあるかどうかを確認するためにビデオ ストリームを使用していて、これには多くのリソースが必要であるため、低品質のビデオ ストリームを使用していて、撮影したい顔が検出されているかどうかです。高品質の写真。
よろしくお願いいたします。ご協力ありがとうございます。
現在、低品質でビデオをキャプチャしているときに、最高の品質で画像を撮ろうとしています。問題は、顔がカムの前にあるかどうかを確認するためにビデオ ストリームを使用していて、これには多くのリソースが必要であるため、低品質のビデオ ストリームを使用していて、撮影したい顔が検出されているかどうかです。高品質の写真。
よろしくお願いいたします。ご協力ありがとうございます。
複数のキャプチャ セッションを持つことはできないため、ある時点でより高い解像度に切り替える必要があります。まず、高解像度のスナップショットを使用する場合、顔検出はリソースを消費しすぎると言っています。画像を単純にダウンサンプリングして、常に高解像度を使用し続けてみませんか (ダウンサンプリングされたものを顔検出に送信し、高解像度):
最も一般的なアップルのグラフィック コンテキストから始めて、縮小しようとします。それがあまりにも多くのCPUを必要とする場合、GPUで同じことを試みることができます(それを行うライブラリを見つけるか、単純なプログラムを作成するだけです). これらのケースのいずれにおいても、表示と同じスレッドでの顔検出はおそらく必要ないことにも注意する必要があります。また、検出のために高いフレームレートを必要としない可能性が高いことにも注意してください (カメラをフル FPS で表示しますが、更新します)。たとえば、10 FPS での顔認識)。
もう 1 つできることは、全体を低解像度にして、画像を撮る必要があるときにセッションを停止し、高解像度セッションを開始し、スクリーンショットを撮り、顔検出のために低解像度に戻すことです。