opencv块匹配RADWINDOW窗口大小

时间:2014-08-14 14:07:55

标签: c++ image opencv image-processing

在2个调整后的样本上成功实施了openCV StereoBM算法,我想知道如何找到:

1)最佳SADWINDOW尺寸,以产生最准确的结果。据我所知,ndisparities是从0到16的倍数(对于CV_16S)的范围,并且StereoBM已经为输出图像提供了最佳视差。循环不同是否有益 SADWINDOW大小并选择块内平均差异最小的那个?

2)一种跳过边界线像素的方法,因为它们往往会弄乱结果。

参考disp func:

void disimgfunction(Mat *img1, Mat *img2, int _ndisparities,int _SADWindowSize){

double minVal, maxVal;
Mat imgDisparity16S = Mat( img1->size(), CV_16S );
Mat imgDisparity8U = Mat( img1->size(), CV_8UC1 );

StereoBM sbm( StereoBM::BASIC_PRESET, _ndisparities, _SADWindowSize);
sbm(*img1,*img2,imgDisparity16S, CV_16S);
minMaxLoc( imgDisparity16S, &minVal, &maxVal );
imgDisparity16S.convertTo( imgDisparity8U, CV_8UC1, 255/(maxVal - minVal));

0 个答案:

没有答案