2

私は多くの異なるUSBウェブカメラと通信する必要があるWindowsPython2.7アプリケーションに取り組んでいます。私はOpenCVを使用していますが、一部の科学Webカメラでは、デフォルトのフレームレート、キャプチャ形式などが検出されず、空白の画像しか表示されません。DirectShowプロパティページを開くことができる外部プログラムは、私のプログラムでこれを修正できますが、私のアプリケーションでこの機能を使用したいと思います。

これを行うために利用可能なPythonライブラリの1つであるVideoCapture(http://videocapture.sourceforge.net/)を試しました。これによりプロパティページが開きますが、デバイス設定を変更することはできません(「接続エラー...この形式は現在利用できません」が、AMCAPは機能します)。基になるコードが古すぎるのではないかと思います。

VideoCaptureまたはvideoInput(http://www.muonics.net/school/spring05/videoInput/)でC ++コードを操作することは、どちらも多数の古い特定のDirectX / WindowsSDKパッケージに分散している古いライブラリに依存しているため、あまり役に立ちません。残念ながら、最初から始めたり、VideoCaptureの何が問題になっているのかを理解するための知識や時間がありません。

これを行うことができる別のすでに組み立てられたPythonパッケージはありますか?運が悪かったので、しばらく探していました。libvlc pythonバインディング(VLCはプロパティページにアクセスできるため)とDirectPythonを少し調べましたが、これらが私が探しているものを持っているかどうかはわかりません。

ありがとう!

4

2 に答える 2

0

同様の音の問題がありました。基本的に、キャプチャしたものを見たいと思って誤って修正しました。

cap = cv2.VideoCapture(0)
print cap.read()      #once to inialize
print cap.read()      #twice to check that it actually initialized

1つ目.read()は戻ります(False, None)が、2 つ目は実際にフィードを持っています。これを追加する前に、に渡しNonecv2.imshow('title',frame)プログラムがクラッシュしました。

これで問題が解決するかどうかはわかりません。私のは DinoLite USB 顕微鏡で、DirectX 経由でアクセスしているだけだと思います。OpenCV 2.4.8。

于 2014-03-12T11:53:56.277 に答える