opencv大图片上面贴小图
在Opencv里面很多理论大家说起来都知道,也都能想到怎么做,但是真正实践起来不是那样的,可能你会经历很多次试验的失败,再到睡觉都思索时候你也还是失败,然后洗把脸继续钻研,一行一行钻研,做笔记,画图,后来发现OK了。这也就是研究的乐趣。哈哈哈。不说这么多废话。开始记录技术点。
图片合成:
注意:
1:如果你是两张合并的图片大小尺寸和深度都一样,那随便用那个方法都行。
cvAdd(pCutPic,pBgImage, pBgImage, NULL); (参数IplImage*方式贴)
这个是两个图片像素的叠加,会有两个像素区域加起来颜色太亮,或者太暗。但是如果两幅图其中有一个是
透明的也无所谓。
cutROIMat.copyTo(bgROIMat); (参数Mat直接拷贝)
cutROIMat.copyTo(bgROIMat,cutROIGrayMask); (参数Mat直接拷贝)
addWeighted(bgROIMat, 0.5, cutROIMat, 0.5, 0, bgROIMat); 这个能调节两幅图的alpha合成比
例。 (参数 Mat直接拷贝)
2:两幅大小不同图片合成,且在另一幅上扣除一块区域合成。
A:这里需要注意的就是先从一副图上取出那块区域生成一个小的mat图,
Mat cutROIMat = srcCutPic(Rect
(mBoardRect.x,mBoardRect.y,mBoardRect.width,mBoardRect.height));
//把要扣出来的内容取出来作为小图。
B:然后目标图片指定贴上去的区域。
Mat bgROIMat = mBGImage(Rect
(mBoardRect.x,mBoardRect.y,mBoardRect.width,mBoardRect.height));
//注意必须在要贴的大图上指定感兴趣区域。
C: 把这个cutROIMat 作为源小图贴在bgROIMat 上。
cutROIMat.copyTo(bgROIMat); //也是可以的,只是有黑色矩形框。
cutROIMat.copyTo(bgROIMat,cutROIGrayMask); 这个是去掉黑色边缘。
addWeighted(bgROIMat, 0.5, cutROIMat, 0.5, 0, bgROIMat); 这个是调节两个图的alpha合成。避免
合成区域变色。
注意: srcCutPic= imread("D:\\test.jpg");
mBGImage = imread("D:\\view.jpg"); 这个是自己写的,不是全部代码。只是将理论。自己做笔记备注。
3:如果是两幅图片大小尺寸不一样的。必须在要贴上去的图片上指定ROI,细节:目标图片的ROI的Rect必须
是准备贴上去图的区域或者大小。
如下就行:
C++: void Mat::copyTo(OutputArray m) const
C++: void Mat::copyTo(OutputArray m, InputArray mask) const
这个函数可以复制图像到另一个图像或矩阵上,可选参数是掩码
由于叠加的图像大小不一定相等,比如我们这里把一张小照片加到一张大照片上
我们可以在大照片上设置一个和小照片一样大的感兴趣区域
不使用掩码的时候,我们载入一张png,和一张jpg
opencv大图片上面贴小图相关推荐
- opencv在大图片上贴小图
/* 利用ROI将一幅图像叠加到另一幅图像的指定位置 */#include <opencv2/core/core.hpp> #include <opencv2/highgui/hig ...
- 用格式工厂把大图片压缩成小图
这里是用BMP格式图像的压缩作为例子.其实格式工厂主要是用来转格式的,用来压缩图片的话确实有点大材小用啦,不过也不失为一种好方法~ 接下来我们就开始叭 ~ (* ^ ω ^ *) 先在图片那一栏选 ...
- python opencv调节图片亮度与对比度
python opencv调节图片亮度与对比度 亮度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. 创建两个滑动条分别调整对比度和 ...
- DALSA线阵CCD相机开发 之 opencv读取图片
SDK的下载 Sapera_LT_8.31_SDK 百度网盘下载地址:链接:密码:ckm7. SDK的安装 解压运行.exe文件,按照提示确定,下一步即可. 帮助文档和demo 如果要获得完整的帮助文 ...
- 2021-01-07 python opencv调节图片亮度与对比度
python opencv调节图片亮度与对比度 度调整是将图像像素的强度整体变大/变小,对比度调整指的是图像暗处变得更暗,亮出变得更亮,从而拓宽某个区域内的显示精度. 创建两个滑动条分别调整对比度和亮 ...
- Android大图片裁剪终极解决方案 原理分析
约几个月前,我正为公司的APP在Android手机上实现拍照截图而烦恼不已. 上网搜索,确实有不少的例子,大多都是抄来抄去,而且水平多半处于demo的样子,可以用来讲解知识点,但是一碰到实际项目,就漏 ...
- Android大图片裁剪之手机拍照和从相册中选择注意点
Intent("com.android.camera.action.CROP"):中data.MediaStore.EXTRA_OUTPUT以及return-data data:P ...
- Android大图片裁剪解决方案
2019独角兽企业重金招聘Python工程师标准>>> 截图原理 在Android中,Intent触发Camera程序,拍好照片后,将会返回数据,但是考虑到内存问题,Camera不会 ...
- 通过opencv在图片上加上文字_基于Ubuntu16
本文主要介绍,如何通过**C++**语言在Ubuntu操作系统下的OpenCV中将一个图片叠加上文字 通过opencv在图片上叠加上文字 一.汉字点阵字库原理 1.汉字的三种编码 1.1区位码 1.2 ...
最新文章
- SAP MM 预留单据的历史修改记录?
- chrome谷歌浏览器用这种方式清除缓存比较方便了,必须是调试模式才行
- AMD猛攻数据中心市场,拿下15年来最高份额,英特尔DCG收入下滑20%
- java 自定义异常 未回滚_抛出自定义异常,spring AOP事务不回滚的解决方案
- 报告显示:2018年北京人工智能相关产业达1500亿元
- 解析XML的4种方式及优缺点比较
- 让TA们告诉你,疫情当下如何更彪悍的成长
- (转)深入理解Javascript闭包(closure)
- Python机器学习:SVM008scikit-learn中的高斯核函数
- 裁员消息满天飞,我们整理了一份真实名单
- Spring AOP配置
- SCOM2012SP1环境准备和安装
- [转载] python 字符串方法大全
- 又延伸到socket去了。
- 《EDA技术与Verilog HDL设计》第4、5 章读书笔记与总结
- 《点石成金-访客至上的web和移动可用性设计秘籍》读书笔记
- mapper.xml中注释问题
- 计算机桌面计算机快捷方式不见,桌面快捷方式不见了,教您桌面快捷方式不见了怎么办...
- proxomx软件仓库无法使用解决
- 数据人需要掌握的技能,从底层到应用
热门文章
- MATLAB 数值微积分
- android 设置listview滚动条,Android ListView 滚动条的设置详解及实例代码
- 3000元左右性价比最高的手机2023 3000元手机性价比排行榜2023
- 姑娘,你为什么要学编程?是抖音不好玩还是王者太坑?
- YDLIDAR_X3驱动安装
- 2021年中国饲料行业发展现状分析:养殖业持续发展,带动饲料产量增加[图]
- android代码apkxiazai1,Android基础新手教程——1.10 反编译APK获代替码amp;资源(示例代码)...
- PS 替换图片上的字
- Coursera 英文字幕实时翻译脚本
- v20超级计算机,荣耀V20和华为P20Pro哪个好