• OpenCV图像载入、显示和输出到文件以及滑块的使用


    图像载入

    imread()函数

    Mat imread(const string& filename, int flags = 1);
    

    第一个参数为文件名
    第二个参数为载入标识

    • flags > 0 返回一个3通道的彩色图像
    • flags = 0 返回灰度图像
    • flags < 0 返回包含Alpha通道的加载图像
    • 若要载入最真实无损的源图像,可flags = 2 || flags = 4

    imshow()函数

    void imshow(const string& winname, InputArray mat);
    
    • 第一个参数:const string& 类型的winname,填需要显示的窗口标识名称。
    • 第二个参数:InputArray类型的mat,填写要显示的图像

    namedWindow函数

    void namedWindow(const string& winname, int flags=WINDOW_AUTOSIZE)

    • 第一个参数,const string&类型的name,填写被用做窗口的标识符的窗口名称。
    • 第二个参数,int 类型的flags,窗口的标识,默认为WINDOW_AUTOSIZE,还可以填如下几种值:
      • WINDOW_NORMAL,用户可以改变窗口的大小
      • WINDOW_AUTOSIZE,窗口大小会自动调整以适应所显示的图像。并且用户不能手动改变改变窗口的大小
      • WINDOW_OPENGL,窗口创建的时候回支持OpenGL。

    可以调用destroyWindow()或者destroyAllWindows()函数来关闭窗口,并取消之前分配的与窗口相关的所有内存空间。

    addWeighted 函数

    void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype=-1)
    

    六个参数分别是

    • 输入图片1
    • 融合比例
    • 图片2
    • 融合比例
    • 偏差
    • 输出图片

    createTrackbar函数

    CV_EXPORTS int createTrackbar(const string& trackbarname,
                        const string& winname,  
                        int* value, int count,  
                        TrackbarCallback onChange = 0,  
                        void* userdata = 0);  
    

    六个参数如下

    • const string&类型的trackbarname,轨迹条的名字,用来代表轨迹条
    • const string&类型的winname,窗口的名字,代表轨迹条所依附的窗口
    • int* 类型的value,一个指向整形的指针,表示滑块的位置。创建时,滑块的初始位置就是该变量当前的值。
    • int 类型的count,表示滑块可以达到的最大位置的值。滑块最小位置的值始终为0.
    • TrackbarCallback 类型的onChange,它有默认值0.这是一个指向回调函数的指针,每次滑块位置改变时,这个函数都会进行回调。并且这个函数的原型必须为 void function(int , void* ); 其中第一个参数是轨迹条的位置,第二个参数是用户数据(参数六)。如果回调是NULL指针,则表示没有回调函数的调用,仅第三个参数value有变化。
    • void* 类型的userdata,默认值0.这个参数是用户传给回调函数的数据,用来处理轨迹条事件。如果使用的第三个参数value实参是全局变量的话,完全可以不去管这个userdata参数。

    getTrackbarPos 函数

    int getTrackbarPos(const string& trackbarname, const string& winname);
    
    • const string& 类型的trackbarname,表示轨迹条的名字
    • const string& 类型的winname,表示轨迹条的父窗口名称

    鼠标操作 setMouseCallback

    该函数的作用是为指定窗口设置鼠标回调函数

    void setMouseCallback(const string& winname, MouseCallback onMouse, void* userdata=0 )
    
    • const string&类型的winname,窗口名字。
    • MouseCallback类型的onMouse,指定窗口里每次鼠标事件发生的时候,被调用的函数指针。这个函数的原型的大概形式为void Foo(int event, int x, int y, int flags, void* param)。其中event是CV_EVENT变量之一,x和y是鼠标指针在图像坐标系(需要注意,不是窗口坐标系)中的坐标值,flags是EVENT_FLAG的组合,param是用户定义的传递到SetMouseCallback函数调用的参数。
    • void*类型的userdata,用户定义的传递到回调函数的参数,默认值0。
  • 相关阅读:
    菜单按钮及导航
    实现点击箭头切换图片页和相册滚动
    网页设计的基本原则
    网格系统
    表单系列2
    类与对象学习总结
    汉诺塔的最简的步骤思路
    3.31作业解答
    初学java 用if语句做几个小程序
    做三个java初期学习的练习Var1~3为头目标
  • 原文地址:https://www.cnblogs.com/ishero/p/11136320.html
Copyright © 2020-2023  润新知