0

AV Foundation で QRcode リーダーを実装しようとしています。私の計画は、有効なコードが認識されるまで、継続的に画像をキャプチャし、キャプチャした画像を QRcode 検出器に送信することです。検出器は入力としてCGImageRefまたはUIImageを必要とします。私の質問は次のとおりです。

  1. どちらの出力を使用する必要がありますか:AVCaptureVideoDataOutputまたはAVCaptureStillImageOutput?
  2. 500ms など、連続して画像を取得するにはどうすればよいですか? 間隔はどのくらいにすべきですか?
4

2 に答える 2

1

AVCaptureVideoDataOutput非圧縮入力をサポートしている場合、QRCode リーダーに簡単に送信できる非圧縮 YUV フレームを提供します。したがって、デコード操作を回避できます。

を使用する場合AVCaptureVideoDataOutputは、フレーム レートをAVFormatDescriptionに設定し、それを に設定できますAVCaptureDevice。を開始するAVCaptureSessionと、停止するまで、指定されたフレーム レートで継続的にフレームを受信します。通常、5 fps を設定し、この操作が非同期であることを確認します。できれば別のスレッドで QRCode を処理し、2 つのフレーム キャプチャ イベントの間に QRCode デコード操作を処理するようにします。

于 2013-04-19T14:06:47.610 に答える