addWeighted函数的运用

 1 #include<opencv2\opencv.hpp>
 2 #include<iostream>
 3 #include<vector>
 4 using namespace cv;
 5 using namespace std;
 6
 7 int main() {
 8     Mat image = imread("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\05.jpg");
 9     Mat logo = imread("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\001.jpg");
10
11     Mat imageROI = image(Rect(image.cols- logo.cols, image.rows- logo.rows, logo.cols, logo.rows));
12     //Mat imageROI = image(Range(350,350+logo.rows),Range(800,800+logo.rows));  //效果同上
13     //将logo加到原图上
14     //addWeighted(imageROI, 1.0, logo, 1, 0., imageROI);
15
16     //使用掩模,效果同上
17     Mat mask = imread("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\001.jpg");
18     logo.copyTo(imageROI,mask);
19
20     namedWindow("hah");
21     imshow("hah",image);
22
23     imwrite("C:\\Users\\Nelsoner\\Desktop\\Camera Roll\\加logo的图.jpg",image);
24     waitKey();
25     return 0;
26 }
时间: 2024-08-18 09:05:57

addWeighted函数的运用的相关文章

【opencv入门之二】感兴趣区域ROI,线性混合addWeighted

参考网站: http://blog.csdn.net/poem_qianmo/article/details/20911629 1.感兴趣区域ROI //[2]定义一个Mat类型并给其设定ROI区域 Mat imageROI = srcImage1( Rect(200, 250, logoImage.cols, logoImage.rows )); //[3]加载掩摸(必须是灰度图) Mat mask = imread( "dota_logo.jpg", 0 ); //[4]将掩摸拷贝

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

OpenCV学习1-----打开摄像头并在画面上添加水印

一直对视频或者图像添加水印很感兴趣,查找资料后用OpenCV尝试了一下. 记录下来. 1.首先是打开摄像头. 找到OpenCV官方文档给出的例子. 例子中实现的是,打开摄像头,并对画面进行高斯滤波,使用canny算子检测直线边缘. #include "opencv2/opencv.hpp" using namespace cv; int main(int, char**) { VideoCapture cap(0); // open the default camera if(!cap

sobel 使用说明

转自http://www.cnblogs.com/justany/archive/2012/11/23/2782660.html OpenCV 2.4+ C++ 边缘梯度计算 2012-11-23 09:11 by Justany_WhiteSnow, 16594 阅读, 6 评论, 收藏, 编辑 图像的边缘 图像的边缘从数学上是如何表示的呢? 图像的边缘上,邻近的像素值应当显著地改变了.而在数学上,导数是表示改变快慢的一种方法.梯度值的大变预示着图像中内容的显著变化了. 用更加形象的图像来解释

学习 opencv---(4) 分离颜色通道 &amp;&amp; 多通道混合

上篇文章中我们讲到了使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操作. 而为了更好地观察一些图像材料的特征,有时需要对RGB三个颜色通道的分量进行 分割显示和调整 .通过Opencv 的split和merge 方法很方便 达到的目的. 一.分离颜色通道 先讲讲这俩个互为冤家的函数.首先讲进行通道分离的split 函数 <1>split函数详解 将一个多通道数组分离成几个单通道数组.  PS:这里的array按语境译

【OpenCV入门教程之四】 ROI区域图像叠加&amp;初级图像混合 全剖析(转)

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/20911629 作者:毛星云(浅墨)    邮箱: [email protected] 写作当前博文时配套使用的OpenCV版本: 2.4.8 在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像

OpenCV官方文档学习记录(13)

sobel边缘检测(导数运算) 主要函数Sobel() 1 #include<opencv2/opencv.hpp> 2 #include<iostream> 3 #include<string> 4 5 using namespace std; 6 using namespace cv; 7 8 void showImg(const string &win_name,const Mat &img) 9 { 10 namedWindow(win_name

OpenCV 之 边缘检测

上一篇 <OpenCV 之 图像平滑> 中,提到的图像平滑,从信号处理的角度来看,实际上是一种低通滤波器. 本篇中,数字图像的边缘,因为通常都是像素值变化剧烈的区域 (“高频”),故可将边缘检测视为“高通滤波” OpenCV 中,边缘检测常用的是索贝尔算子 (Sobel) 和拉普拉斯算子 (Laplace),分别是对图像求一阶导和二阶导 1  索贝尔算子 (Sobel) 1.1  计算过程 假定输入图像矩阵为 I,卷积核大小为 3x3,则水平一阶导数 Gx 和垂直一阶导数 Gy 分别为: $\

ROI区域图像叠加&amp;初级图像混合 综合实例

将addWeighted函数与ROI函数封装到ROI_LinearBlending中 //---------------------------------[ROI_LinearBlending()]------------------------------------- // 函数名:ROI_LinearBlending() // 描述:线性混合实现函数,指定区域线性图像混合.利用cv::addWeighted()函数结合定义 // 感兴趣区域ROI,实现自定义区域的线性混合 //-----