线性混合+ROI

相关代码:

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

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
    Mat src = imread("E:\\VS2015Opencv\\vs2015\\project\\picture\\cat.jpg");
    Mat logo = imread("E:\\VS2015Opencv\\vs2015\\project\\picture\\04.png");

    //设定ROI区域
    Mat ROI = src(Rect(20, 25, logo.cols, logo.rows));//注意这边Rect函数,先列后行(长*高(宽))
    imshow("ROI", ROI);

    addWeighted(ROI, 1, logo, 0.1, 0., ROI, -1);//两张图片必须大小相同
    imshow("src", src);

    waitKey(0);
    return 0;

}

 

此结果与前面博文中ROI结果对比一下

可以看出使用线性混合的处理来对两幅图像(f0(x)和f1(x))或两段视频(同样为(f0(x)和f1(x))产生时间上的画面叠化(cross-dissolve)效果,就像幻灯片放映和电影制作中的那样,即在幻灯片翻页时设置的前后页缓慢过渡叠加效果,以及电影情节过渡时经常出现的画面叠加效果。

posted @ 2019-07-30 20:17  浮沉沉浮  阅读(144)  评论(0编辑  收藏  举报