opencv:如何创建滑动条及应用详解

  1. 对于opencv中创建滑动条的个人理解:通过调用创建滑动条的函数并对回调函数进行初始化,即可以进行调用,滑动条相当于一个可操作性的变量控制,可以通过改变滑动条的位置去实时的改变对应变量的值。opencv:如何创建滑动条及应用详解
  2. 创建滑动条后,图片的显示窗口中便会出现一个滑动条,可以通过滑动条来改变滑动条对应变量的数字,然后通过程序根据变量的改变而做出相应的调整,或对图片进行切换,或对图片进行相关的处理opencv:如何创建滑动条及应用详解
  3. 当前的程序是当数字为零时显示茶杯1的图像,当数字为一时显示茶杯2的图像opencv:如何创建滑动条及应用详解
  4. 创建滑动条函数共有5个参数,第1个参数是滑动条的名称,第2个参数是创建滑动条的图片窗口,第3个窗参数是滑动条对应的变量,第4个参数是滑动条的最大值,第5个参数则是回调函数的名称opencv:如何创建滑动条及应用详解
  5. 在对滑动条进行操作时,每一次的操作都会调用一次回调函数,所以当需要根据滑动条的改变做出相应的操作时,需要在回调函数中填写相应的操作代码
    opencv:如何创建滑动条及应用详解
  6. 完整的程序代码如下
    opencv:如何创建滑动条及应用详解

    #include <opencv2/opencv.hpp>
    #include <iostream>

    using namespace cv;
    using namespace std;
    Mat src,src1;
    int i = 0;//滑动条初始值
    int maxnum = 1;//滑动条最大值
    void text(int, void*);//声明回调函数

    int main()
    {
        src = imread("F:\\vs2019文件\\图片\\茶杯1.jpg");
        src1 = imread("F:\\vs2019文件\\图片\\茶杯2.jpg");

        //新建一个窗口
        namedWindow("测试窗口", WINDOW_NORMAL);
        //WINDOW_AUTOSIZE,WINDOW_NORMAL ,WINDOW_OPENGL
        //创建滑动条
        //注意:i是变量,滑动条擦改变后i改变。
        createTrackbar("数字:", "测试窗口", &i, maxnum, text);

        //text(0, 0);

        waitKey(0);
        return 0;
    }
    //回调函数
    void text(int, void*)
    {
        if (i == 1)
        {
            imshow("测试窗口", src);
        }
        else
        {
            imshow("测试窗口", src1);
        }
        /*printf("数字i的值为:");
        printf("%d\n", i);*/
        cout << "数字i的值为:" << i << endl;
    }