私はopencvが初めてで、いくつかのコードを実行しようとしています..視差マップからv視差マップを取得する必要があります.ステレオマッチングを取得するために2つの修正された画像を使用しており、その後、密な視差マップを使用しています視差マップを取得し、v-disparity でそれを tronsform しようとしたとき、空のウィンドウが表示されませんでした
。Raphael Labayrade、Didier Aubert、Jean-Philippe Tarel の記事 Real Time で提案されたアルゴリズムを参照しています。 「V 視差」表現による平坦でない道路形状の立体視における障害物検出。
私のコードを聞く:
int main(int argc, char *argv[]){
int nbrepetion ;
Mat img = imread(argv[1],0);
Mat image(img.rows,img.cols, CV_8UC1);
if(img.empty()){
printf("Could not load image file\n");
exit(0);
}
int height = img.rows;
int width = img.cols;
int a = width ;
int k = 0 ;
uchar pos =0 ;
for(int i = 0; i < height; i++){
for(int j = 0; j < width; j++)
for (int k = 0; k < a; k++){
if(img.at<uchar>(i,j) == img.at<uchar>(i,k)) {
nbrepetion ++ ;
}
}
if(nbrepetion == 1){
image.at<uchar>(i,k) = img.at<uchar>(i,k);
} else {
pos = img.at<uchar>(i,k);
image.at<uchar>(pos,k) = nbrepetion;
}
nbrepetion = 0 ;
}
namedWindow("disparityimage", CV_WINDOW_AUTOSIZE);
imshow("disparityimage", image );
waitKey(0);
return 0;
}