图像合并

#include "opencv2/core/core.hpp"  
#include "opencv2/highgui/highgui.hpp"  
#include "opencv2/imgproc/imgproc.hpp"  

using namespace cv;

int main(int argc, char **argv)
{
    Mat img_left = imread("image4.jpg");
    Mat img_right(img_left.rows, img_left.cols, CV_8UC3, Scalar(170, 170, 170));//其实是2*6的矩阵,因为每个元素有3个通道。 

    Size size(img_left.cols + img_right.cols, MAX(img_left.rows, img_right.rows));

    Mat img_merge;
    Mat outImg_left, outImg_right;

    img_merge.create(size, CV_MAKETYPE(img_left.depth(), 3));
    img_merge = Scalar::all(0);
    outImg_left = img_merge(Rect(0, 0, img_left.cols, img_left.rows));
    outImg_right = img_merge(Rect(img_left.cols, 0, img_right.cols, img_right.rows));

    if (img_left.type() == CV_8U)
    {
        cvtColor(img_left, outImg_left, CV_GRAY2BGR);
    }
    else
    {
        img_left.copyTo(outImg_left);
    }

    if (img_right.type() == CV_8U)
    {
        cvtColor(img_right, outImg_right, CV_GRAY2BGR);
    }
    else
    {
        img_right.copyTo(outImg_right);
    }
    cvNamedWindow("merge", 0);

    imshow("merge", img_merge);


    waitKey(0);
    return 0;
}

这里写图片描述


这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值