Opencv ROI区域图像叠加

来源:互联网 发布:如何查询淘宝购买记录 编辑:程序博客网 时间:2024/05/21 07:07

本文主要学习opencv中如何定义感兴趣区域ROI(region of interest)以及在感兴趣区域进行图像的叠加

  定义ROI的方法有两种:
1、使用表示矩形区域的Rect,指定表示矩形的左上角坐标和矩形的长宽;

Mat imageROI;imageROI = image(Rect(500,250,logo.cols,logo.rows));

2、指定感兴趣区域的行或列的范围range,range指从起始索引到终止索引的一连段连续序列。

imageROI = image(Range(250,250+logo.rows),Range(200,200+logo.cols);

下面演示在ROI区域实现图像叠加的例子;

#include<iostream>  #include <opencv2\opencv.hpp>  using namespace cv;int main(){    Mat srcImage1 = imread("3.png");    Mat logoImage = imread("logo.png");    if (!srcImage1.data){        printf("读取错误!");        return -1;    }    if (!logoImage.data){        printf("读取错误!");        return -1;    }    Mat imageROI = srcImage1(Rect(100, 150, logoImage.cols, logoImage.rows));    Mat mask = imread("logo.png", 0);    logoImage.copyTo(imageROI, mask);    namedWindow("利用ROI实现图像叠加示例窗口");    imshow("利用ROI实现图像叠加窗口", srcImage1);    waitKey();    return 0;}

结果如下:

这里写图片描述

阅读全文
0 0
原创粉丝点击