学习c++版opencv3.4之6

线性混合操作:addWeighted(src_linux, alpha, src_win7, 1-alpha, gamma, dst) //alpha可以调节对比度;gamma可以调节亮度

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

using namespace std;
using namespace cv;

int main(){
    Mat src_linux, src_win7;
    src_linux = imread("/Users/ming/Documents/linuxlogo.jpeg");
    resize(src_linux, src_linux, Size(200, 200));
    src_win7 = imread("/Users/ming/Documents/win7logo.jpeg");
    resize(src_win7, src_win7, Size(200,200));
    if (! src_linux.data){
        printf("cannot load image linuxlogo...");
    }
    namedWindow("src_linux img", CV_WINDOW_AUTOSIZE);
    imshow("src_linux img", src_linux);
    
    if (! src_win7.data){
        printf("cannot load image win7logo...");
    }
    namedWindow("src_win7 img", CV_WINDOW_AUTOSIZE);
    imshow("src_win7 img", src_win7);
    
    float alpha = 0.2; //对比度
    int gamma = 30; //亮度
    Mat dst;
    if (src_linux.rows == src_win7.rows && src_linux.cols == src_win7.cols && src_linux.type() == src_win7.type()){
        addWeighted(src_linux, alpha, src_win7, 1-alpha, gamma, dst); //对图像进行线性混合相加,像素按照权值相加
//        add(src_linux, src_win7, dst); //两个图像像素值直接相加
//        multiply(src_linux, src_win7, dst); //像素值相乘
        namedWindow("addweighted img", CV_WINDOW_AUTOSIZE);
        imshow("addweighted img", dst);
    }
    
    waitKey(0);
    
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值