1

私はLinux上で非常にうまく機能する簡単なウェブカメラレコーダーを構築しました。私は〜25fpsのビデオと良いオーディオを手に入れます。

レコーダーをWindows(win7)に移植していますが、動作している間は使用できません。QueryFrame関数は、350ミリ秒以上、つまり2.5fpsかかります。

コードはPythonですが、問題は実際にはlib呼び出しにあるようです。

同じWebカメラ(logitech E2500)を使用して同じマシンでテストしました。Windowsに、openCVv2.2をインストールしました。今は確認できませんが、Ubuntuではバージョンが少し高いかもしれません。

何が問題になるのか考えてみませんか?

編集:openCV2.4をインストールしたばかりで、同じ低速です。

4

2 に答える 2

1

問題が実際に発生している場合はQueryFrame、次のことが発生している可能性があります。カメラのWindowsドライバーは、OpenCVでネイティブにサポートされていない形式でフレームを取得するため、OpenCVはフレームを理解できる形式に変換する必要があります。この操作はCPUを消費するため、フレームのサイズが大きいとパフォーマンスが低下します。

テストの目的で、次のことができます。

1)フレームのサイズを小さく設定し、パフォーマンスが向上するかどうかを確認します。

cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH, 320);
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT, 240);

2)別のカメラを使用して、問題が解決するかどうかを確認します。

これが実際に起こっていることであると判断したら、ドライバーの更新を見つけて問題が解決することを期待するか、Windowsの使用を中止してください。=)

于 2012-06-04T21:07:06.540 に答える
1

私も同じ問題を抱えていましたが、これは長時間の曝露が原因であることがわかりました。Windowsドライバーは、画像の明るさを上げるために露出を増やした場合があります。カメラを光源に向けるか、露出を手動で下げるように設定してください

于 2012-10-03T00:00:24.957 に答える