我是opencv的新手,我正在尝试运行一些代码..我需要从视差图中获取v-视差图。我正在使用两个校正图像来获得立体匹配,然后是密集视差图.我得到了视差图,当我试图在 v-disparity 上对其进行转换时,我什么也没有出现。我指的是
Raphael Labayrade、Didier Aubert、Jean-Philippe Tarel 在他们的文章 Real Time 中提出的算法通过“V-disparity”表示在非平坦道路几何立体视觉中的障碍物检测。
听到是我的代码:
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;
}