カメラを使用して入力ストリームで画像処理を実行したいのですが、プログラムを実行すると「ソースのキャプチャ」を求めるウィンドウが表示され、その後「OK」または「適用」しても何も起こりません。
しかし、カメラの代わりにビデオ ファイルを使用すると、プログラムは問題なく動作します。
コードは次のとおりです。
int MainWindow::on_CameraOpen_triggered()
{
// programming done in Qt and using Opencv 2.2.
// all the variables are defined & declared in private of header file
// there is no compilation error
// return type of the function is 'int'
// Following program works fine if name of video file is mentioned
// instead of '0' is the line below
VideoCapture capture(0);
if(!capture.isOpened())
return 1;
bool stop(false);
double rate = capture.get(CV_CAP_PROP_FPS);
namedWindow("Extracted Frame");
int delayVideo = 1000/rate;
while(!stop)
{
if(!capture.read(frame))
{
break;
}
imshow("Extracted frame", frame);
if(waitKey(delayVideo)>=0)
{
stop = true;
}
}
capture.release();
}
次のリンクで修正されたバグを削除しようとしました: https://code.ros.org/trac/opencv/changeset/4400
https://code.ros.org/trac/opencv/browser/trunk/opencv/modules/highgui/src/precomp.hpp?rev=4400
カメラは、gtalk やその他のカメラ ソフトウェアで正常に動作します。
何ができるかを親切に提案/ガイドしてください。
どうもありがとうございました。
よろしく、データベース