步骤:第一,全局声明:在程序开头建立滚动条调用函数的声明和需要调整的参数的声明
如static void ContrastAndBright(int, void *); //滚动条要调用的函数
int SADWindowSize_value; //立体匹配参数
int numberOfDisparities_value; //立体匹配参数的匹配空间大小参数
int preFilterSize_value; //立体匹配参数
int preFilterCap_value; //立体匹配参数
int minDisparity_value; //立体匹配参数
int textureThreshold_value; //立体匹配参数
int uniquenessRatio_value; //立体匹配参数
第二,设定初始值。
对于需要利用滚动条调整的参数需要设定初始值。
如: //设定立体匹配参数初值
preFilterSize_value=3;
preFilterCap_value=1;
SADWindowSize_value=3;
minDisparity_value=0;
numberOfDisparities_value=1;
textureThreshold_value=0;
uniquenessRatio_value=5;
第三,创建多个滚动条
具体步骤,(1)创建滚动条所在的窗口。
如:cvNamedWindow("【立体匹配参数调整】", 1);
(2)创建滚动条
如:createTrackbar("preFilterSize_value:", "【立体匹配参数调整】",&preFilterSize_value,125,ContrastAndBright );
createTrackbar("preFilterCap_value:", "【立体匹配参数调整】",&preFilterCap_value,13,ContrastAndBright );
createTrackbar("SADWindowSize_value:", "【立体匹配参数调整】",&SADWindowSize_value,128,ContrastAndBright );
createTrackbar("minDisparity_value:", "【立体匹配参数调整】",&minDisparity_value,5,ContrastAndBright );
createTrackbar("numberOfDisparities_value:","【立体匹配参数调整】",&numberOfDisparities_value,6,ContrastAndBright );
createTrackbar("textureThreshold_value:", "【立体匹配参数调整】",&textureThreshold_value,15,ContrastAndBright );
createTrackbar("uniquenessRatio_value:", "【立体匹配参数调整】",&uniquenessRatio_value,15,ContrastAndBright );
说明:cvCreateTrackbar的第一参数:滚动条的名字
第二个参数:滚动条所在的窗口名字
第三个参数:滚动条调整的参数名
如static void ContrastAndBright(int, void *); //滚动条要调用的函数
int SADWindowSize_value; //立体匹配参数
int numberOfDisparities_value; //立体匹配参数的匹配空间大小参数
int preFilterSize_value; //立体匹配参数
int preFilterCap_value; //立体匹配参数
int minDisparity_value; //立体匹配参数
int textureThreshold_value; //立体匹配参数
int uniquenessRatio_value; //立体匹配参数
第二,设定初始值。
对于需要利用滚动条调整的参数需要设定初始值。
如: //设定立体匹配参数初值
preFilterSize_value=3;
preFilterCap_value=1;
SADWindowSize_value=3;
minDisparity_value=0;
numberOfDisparities_value=1;
textureThreshold_value=0;
uniquenessRatio_value=5;
第三,创建多个滚动条
具体步骤,(1)创建滚动条所在的窗口。
如:cvNamedWindow("【立体匹配参数调整】", 1);
(2)创建滚动条
如:createTrackbar("preFilterSize_value:", "【立体匹配参数调整】",&preFilterSize_value,125,ContrastAndBright );
createTrackbar("preFilterCap_value:", "【立体匹配参数调整】",&preFilterCap_value,13,ContrastAndBright );
createTrackbar("SADWindowSize_value:", "【立体匹配参数调整】",&SADWindowSize_value,128,ContrastAndBright );
createTrackbar("minDisparity_value:", "【立体匹配参数调整】",&minDisparity_value,5,ContrastAndBright );
createTrackbar("numberOfDisparities_value:","【立体匹配参数调整】",&numberOfDisparities_value,6,ContrastAndBright );
createTrackbar("textureThreshold_value:", "【立体匹配参数调整】",&textureThreshold_value,15,ContrastAndBright );
createTrackbar("uniquenessRatio_value:", "【立体匹配参数调整】",&uniquenessRatio_value,15,ContrastAndBright );
说明:cvCreateTrackbar的第一参数:滚动条的名字
第二个参数:滚动条所在的窗口名字
第三个参数:滚动条调整的参数名