「左」と「右」の2つの画像から視差マップを見つけるコードを作成しました。マップを「ステレオ」に保存します。コードは私には問題ないようですが、どういうわけか私は例外を取得しています:
ターミナルウィンドウ:
OpenCVエラー:不明な関数の引数が正しくありません(不明な配列タイプ)、ファイル...... \ src \ opencv \ modules \ core \ src \ matrix.cpp、行698
コードは
Mat left = imread( "files\\left.jpg" );
Mat right = imread( "files\\right.jpg" );
Size size = left.size();
namedWindow( "left", CV_WINDOW_AUTOSIZE );
imshow("left", left);
cvNamedWindow( "right", CV_WINDOW_AUTOSIZE );
imshow("right", right);
Mat left_C1;
cvtColor(left, left_C1, CV_RGB2GRAY);
Mat right_C1;
cvtColor(right, right_C1, CV_RGB2GRAY);
Mat stereo = Mat(size, CV_16SC1);
CvStereoBMState* state = cvCreateStereoBMState();
state->preFilterSize=5;
state->preFilterCap=1;
state->SADWindowSize=5;
state->minDisparity=0;
state->numberOfDisparities=64;
state->textureThreshold=0;
state->uniquenessRatio=0;
cvFindStereoCorrespondenceBM(&left_C1, &right_C1, &stereo, state);
namedWindow( "stereo", CV_WINDOW_AUTOSIZE );
imshow("stereo",stereo);
waitKey(0);
VS Ultimate 2012、Windows 8、OpenCV2.4.4を使用しています。この例外を修正する方法を教えてください。