opencv学习日记——娜扎小姐姐与猫咪的图像融合,超美哈哈哈

opencv学习日记——图像的比较和融合,超美哈哈哈

图在后边哦,不看代码也要看看图,很酷,opencv绝了!!!

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

using namespace std;
using namespace cv;

int main()
{
    //定义两个矩阵并赋值,注意:float 与 CV 32FC1对应
    float a[6] = {1, 2, 3, 4, 5, 6};
    float b[6] = {0, 1, 2, 3, 4, 5};
    Mat imga = Mat(2, 3, CV_32FC1, a);
    Mat imgas = Mat(2, 3, CV_32FC1, b);
    //保留较大或较小的数值进行保存
    Mat myMax, myMin;
    min(imga, imgas, myMin);
    max(imga, imgas, myMax);
    cout << myMin << endl;
    cout << myMax << endl;
    //读取图像
    Mat img0 = imread("cat.jpg");
    Mat img1 = imread("a1.jpeg");
        //判断是否读取成功
    if(img0.empty() || img1.empty())
    {
        cout << "图片读取失败" << endl;
        return -1;
    }

    //因为读取的图像尺寸不同,故调整一张与第一张相同尺寸,并保存
    Mat img11;
    //原图 新图 尺寸
    resize(img1, img11, Size(670, 471));
    // imshow("img11", img11);//展示调整后图像
    // imwrite("a11.jpeg", img11); //保存图像
    //比较两幅图片保留最大或最小像素点形成新的图片
    Mat comMax, comMin;
    min(img0, img11, comMin);
    max(img0, img11, comMax);
    imshow("comMin", comMin);
    imshow("imgMax", comMax);
    
    //扣图 
    //定义670*471大小的图片
    Mat src1 = Mat::zeros(Size(670, 471), CV_8UC3);
    //位置(100,100)处 定义一个(300*300) 的矩形
    Rect rect(100, 100, 300, 300);
    //把这个矩形放在src1上,设为白色;
    src1(rect) = Scalar(255, 255, 255);
    //比较出图
    Mat comsrc1, comsrc2;
    min(img0, src1, comsrc1);
    max(img0, src1, comsrc2);
    imshow("comsrc1", comsrc1);
    imshow("comsrc2", comsrc2);
    
    //定义一个红色图像,比较出图
    Mat src2 = Mat(471, 670, CV_8UC3, Scalar(0, 0, 255));
    min(img11, src2, comsrc2);
    imshow("comsrc2", comsrc2);
    
    //比较灰度图
    Mat img0G, img1G, comMinG, comMaxG;
    cvtColor(img0, img0G, COLOR_BGR2GRAY);
    cvtColor(img11, img1G, COLOR_BGR2GRAY);

    min(img0G, img1G, comMinG);
    max(img1G, img0G, comMaxG);
    imshow("comMinG", comMinG);
    imshow("comMaxG", comMaxG);

    waitKey(0);
    return 0;
}
‘’‘’‘’‘’‘’‘’‘
[0, 1, 2;
 3, 4, 5]
[1, 2, 3;
 4, 5, 6]

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值