opencv学习笔记(04)——ROI

本文介绍如何利用OpenCV库中的ROI(区域感兴趣)功能实现图像直接相加与掩码法直接替换两种方法,通过读取原始图像、logo图片,并进行区域选择与融合操作,最终展示图像融合效果。

ROI的用法:1、直接相加;2、掩码法

#include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\core\core.hpp>


int main()
{

    cv::Mat img_original = cv::imread("F:\\images\\boldt.jpg");     
    cv::Mat logo = cv::imread("F:\\images\\logo.bmp");
    cv::Mat imageROI = img_original(cv::Rect(385, 270, logo.cols, logo.rows));
    addWeighted(imageROI, 1.0, logo, 0.3, 0.0, imageROI);

    cv::namedWindow("方法1:直接相加");
    cv::imshow("方法1:直接相加", img_original);

    cv::Mat img_original2 = cv::imread("F:\\images\\boldt.jpg");     
    cv::Mat logo2 = cv::imread("F:\\images\\logo.bmp");
    cv::Mat imageROI2 = img_original2(cv::Rect(385, 270, logo2.cols, logo2.rows));
    cv::Mat mask = cv::imread("F:\\images\\logo.bmp", 0);
    logo2.copyTo(imageROI2, mask);

    cv::namedWindow("方法2:掩码法,直接替换");
    cv::imshow("方法2:掩码法,直接替换", img_original2);

    cv::waitKey();
    return 0;

}

 

转载于:https://www.cnblogs.com/takeaction/p/3747660.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值