opencv3笔记一 滑动条的创建与使用

不懂的知识点

1、addweighted()函数
void on_Trackbar(int, void*)
{
    g_dAlphaValue = (double) g_nAlphaValueSlider/g_nMaxAlphaValue;
    g_dBetaValue = 1.0 - g_dAlphaValue;
    /*
    addWeighted这个函数的原型如下所示,可以看出这个函数最小需要6个参数。
    1、 第1个参数,输入图片1, 
    2、第2个参数,图片1的融合比例
    3、第3个参数,输入图片2
    4、第4个参数,图片2的融合比例
    5、第5个参数,偏差
    6、第6个参数,输出图片
    */
    //这个函数可以将两个图片进行融合
    addWeighted(g_srcImage, g_dAlphaValue, g_srcImage2, g_dBetaValue,0.0, g_dstImage);
    imshow(WINDOW_NAME, g_dstImage);

}
2、回调函数
//这一步还是不太懂是如何回调的
createTrackbar(TrackbarName, WINDOW_NAME,&g_nAlphaValueSlider, g_nMaxAlphaValue,  on_Trackbar);
//结果在回调函数中显示
on_Trackbar( g_nAlphaValueSlider, 0);
#include <opencv2/opencv.hpp>
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
#define WINDOW_NAME "[线性混合实例]"
const int g_nMaxAlphaValue = 100;
int g_nAlphaValueSlider;
double g_dBetaValue;
double g_dAlphaValue;
Mat g_srcImage;
Mat g_srcImage2;
Mat g_dstImage;
void on_Trackbar(int, void*)
{
    g_dAlphaValue = (double) g_nAlphaValueSlider/g_nMaxAlphaValue;
    g_dBetaValue = 1.0 - g_dAlphaValue;
    /*
    addWeighted这个函数的原型如下所示,可以看出这个函数最小需要6个参数。
    1、 第1个参数,输入图片1, 
    2、第2个参数,图片1的融合比例
    3、第3个参数,输入图片2
    4、第4个参数,图片2的融合比例
    5、第5个参数,偏差
    6、第6个参数,输出图片
    */
    addWeighted(g_srcImage, g_dAlphaValue, g_srcImage2, g_dBetaValue,0.0, g_dstImage);
    imshow(WINDOW_NAME, g_dstImage);

}
int main()
{
    //加载图像 (两图像的尺寸需相同)
    g_srcImage = imread("1.jpg");
    g_srcImage2 = imread("2.jpg");
    if(!g_srcImage.data)
    {
        printf("1.jpg....unsucessful");
        return -1;
    }
    if(!g_srcImage2.data)
    {
        printf("2.jpg....unsucessful");
        return -1;
    }
    //设置滑动条初值为70
    g_nAlphaValueSlider = 70;
    //创建窗体
    namedWindow(WINDOW_NAME, 1);
    char TrackbarName[50];
    //sprintf突然发现炒鸡好用啊啊,以前竟然没发现
    sprintf(TrackbarName, "透明度 %d", g_nMaxAlphaValue);
    //在创建的窗体中创建一个滑动条控件
    createTrackbar(TrackbarName, WINDOW_NAME,&g_nAlphaValueSlider, g_nMaxAlphaValue,  on_Trackbar);
    //结果在回调函数中显示
    on_Trackbar( g_nAlphaValueSlider, 0);
    //按任意键退出
    waitKey(0);
    return 0;
}

这里写图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值