createTrackbar是Opencv中的API,其可在显示图像的窗口中快速创建一个滑动控件,用于手动调节阈值,具有非常直观的效果。具体定义如下:
CV_EXPORTS int createTrackbar(const string& trackbarname, const string& winname,
int* value, int count,
TrackbarCallback onChange = 0,
void* userdata = 0);形式参数一、trackbarname:滑动空间的名称;
形式参数二、winname:滑动空间用于依附的图像窗口的名称;
形式参数三、value:初始化阈值;
形式参数四、count:滑动控件的刻度范围;
形式参数五、TrackbarCallback是回调函数,其定义如下:
typedef void (CV_CDECL *TrackbarCallback)(int pos, void* userdata);
其使用示例代码如下:
IplImage *src = NULL, *thresDst = NULL;
int threshold_min = 100;;
int max_lowThreshold = 255;
cvNamedWindow("threshold", CV_WINDOW_AUTOSIZE);
thresDst = cvCloneImage(src);
createTrackbar("min Threshold", "threshold", &threshold_min, max_lowThreshold,
threshold);
threshold(0,0);可以看出,createTrackbar的第二个参数,必须和cvNameWindow的第一个参数完全一致。其中回调函数定义及实现如下:
void threshold(int, void*)
{
cvThreshold(src , thresDst , threshold_min , 255 , CV_THRESH_BINARY ) ;
cvShowImage("threshold", thresDst);
}如此,即可在图像窗口上方成功创建一个滑动控件,其效果如下(左边是原图像,右边是带有滑动控件的二值图像):
本文介绍Opencv中createTrackbar函数的使用方法,该函数可在图像窗口中创建滑动条,便于手动调整阈值。文章详细解释了各参数含义,并提供了一个完整的示例代码,演示如何设置回调函数以更新图像的二值化效果。

7500

被折叠的 条评论
为什么被折叠?



