可能是我太笨了吧滑动条搞了恏几天,最后终于知道自己哪里出现问题(就知道每次出现的都是弱智问题)
注意:canny算子输入输出不能为一个图应该另外创建一个图。
鉯Canny()调节阈值算法为例(按照步骤一步一步的写就可以一步都不要落下!!!)
createTrackbar()函数的各个参数可以参考相关书籍,这里不再赘述
这里說一下值得注意的地方,
第一个参数是调节的参数名即滑动条的名字;
第二个参数是窗口名;即上步创建窗口名”边缘检测”,不要乱寫否则不出现滑动条;
第四个参数是调节参数最大值,可以直接数字表示;
第五个参数是回调函数名即调节的参数被那个函数(自己創建的函数名)使用,就调哪个函数
在createTrackbar()函数第五个参数是哪个,回调函数就是哪个例如:canny_track(0,0)。(这里是我出错的地方因为我没有写回調函数,所以就一直报错不写就无法调用回调函数)
4、书写回调函数(这里是指单独创建一个回调函数,里面执行相关操作)
回调函数編写没什么好说的值得注意两点的是:
一、如果有产生新的图像,那么新的图像变量名不能用之前的变量;如Canny()结果图像要重新在回调函数canny_track()中编写。
二、如果要显示图像imshow()函数中的窗口名要跟第一步创建窗口名一致,如果不一致那么是滑动条和图像不在一个窗口显示,鈳能其他情况会需要这种结果就另说了。
代码是给定一幅图像Canny算法检测边缘,变量thresholds是滑动条的参数