質問: ### PythonかOpenCVを用いて仮想Webカメラを自作したいです。 OpenCVのVideoCaptureという関数を使って仮想Webカメラをプログラミングできないか調べていますが、 できなさそうで、他に方法はないか考えてます。 directshowフィルターというもので作ればできるようなのですが、色々と調べてもちんぷんかんぷんで、 私には難しすぎる内容でした。 仮想Webカメラというのは、自分のデスクトップに映し出された動画を、自作したウィンドウへキャプチャする アプリケーションです。 できれば、Pythonで仮想Webカメラを自作したいのですが、難しいでしょうか? OpenCVの関数であるVideoCaptureはビデオカメラからの入力をデスクトップ上のウィンドウへ 映しているので、この入力をデスクトップの映像に変更できれば可能かなと考えていますが、 そのような動作はしなさそうです。 どなたか、詳しい方いましたらヒントを下さい。 よろしくお願いします。
回答: > > デスクトップキャプチャをして、OpenCVで画像判定しようと考えています。 > > > OpenCV にはデスクトップキャプチャ機能は存在しませんが、同機能を有する別ライブラリ Pillow(PIL) と組み合わせることはできます。Python/OpenCVでデスクトップキャプチャ などを参考にしてください。 > > ただ、デスクトップキャプチャを連続ですると画像の取得が遅いので、カメラの映像のように非常に速いコマ割りで映像を取得できると良いなと考えていて、 それでDirectShowフィルター等でデスクトップに映る映像をOpenCVへ取り込めないかなと考えていました。 > > > これは単なる想像に過ぎませんが、仮にDirectShowフィルタで仮想カメラを作成しOpenCVに取り込んだとしても、Python+OpenCVによる画像処理では十分な処理速度が出ない気がします(=仮想カメラを作成する労力に見合わないと予想)。 処理速度を求めるなら、アルゴリズム検討自体はPython+OpenCVで行い、仕様がある程度固まったらC/C++等のネイティブコードで記述するのが王道でしょうか。