python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码


Posted in Python onJune 11, 2020

python opencv把一张图片嵌入(叠加)到另一张图片上

1、背景:

最近做了个烟火生成系统的界面设计,需要将烟雾图片嵌入到任意一张图片中,因此需要python opencv把一张图片嵌入(叠加)到另一张图片上的知识。(图中红框最终生成图片没有的,只是界面有这个功能)

2、代码

resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0

resized0是小图
resized1是大图,其他参数是左上点和右下点

3、效果图

python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码

工程中部分代码

这个是截取我pyqt5中部分代码,具体实现,可以借鉴一下

resized1 = cv.imread('temp0.jpg')#读取最开始读入的图片
    #cv.imshow('resized1-0.jpg', resized1)
    #cv.waitKey(10)
    img = cv.imread('output.jpg')#读取生成的烟雾图

    resized0 = cv.resize(img, (weight, height), interpolation=cv.INTER_AREA)
    #cv.imshow('resized0.jpg', resized0)
    #cv.waitKey(10)

    #嵌入图片,resized1是原图,resized0是烟雾图片,中括号内为嵌入的坐标
    resized1[global_y0:height+global_y0, global_x0:weight+global_x0] = resized0
    #cv.imshow('resized1.jpg', resized1)
    cv.imwrite('temp1.jpg', resized1)
    resized2 = resized1 # 将最终生成的图片复制到全局变量中,在保存按钮中进行保存
    #cv.imwrite('resized2.jpg', resized2)
    global final_picture # 此处声明该图片为全局变量
    final_picture=resized2 #将最终生成的图片复制到全局变量中,在保存按钮中进行保存
    #cv.imwrite('final_picture0.jpg', final_picture)
    #cv.waitKey(10)
    height, width, bytesPerComponent = resized1.shape #取彩色图片的长、宽、通道
    bytesPerLine = 3 * width
    cv.cvtColor(resized1, cv.COLOR_BGR2RGB, resized1)
    QImg = QImage(resized1.data, width, height, bytesPerLine,QImage.Format_RGB888)
    pixmap = QPixmap.fromImage(QImg)

    self.label_ShowPicture.setPixmap(pixmap)
    #self.label_ShowPicture.setPixmap(QPixmap("resized1.jpg"))
    self.label_ShowPicture.setCursor(Qt.CrossCursor)
    print("已经嵌入")

总结

到此这篇关于python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码的文章就介绍到这了,更多相关python opencv图片嵌入另一张图片上内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python数据结构之Array用法实例
Oct 09 Python
Python实现控制台输入密码的方法
May 29 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
Python线程创建和终止实例代码
Jan 20 Python
Python装饰器原理与用法分析
Apr 30 Python
用TensorFlow实现lasso回归和岭回归算法的示例
May 02 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 Python
Matplotlib 生成不同大小的subplots实例
May 25 Python
浅述python中深浅拷贝原理
Sep 18 Python
python多线程共享变量的使用和效率方法
Jul 16 Python
python 使用递归回溯完美解决八皇后的问题
Feb 26 Python
keras slice layer 层实现方式
Jun 11 #Python
Spring http服务远程调用实现过程解析
Jun 11 #Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
Jun 11 #Python
python怎么提高计算速度
Jun 11 #Python
Python 实现自动登录+点击+滑动验证功能
Jun 10 #Python
Python函数参数定义及传递方式解析
Jun 10 #Python
什么是python类属性
Jun 10 #Python
You might like
php5.2.0内存管理改进
2007/01/22 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
Jquery获取当前城市的天气信息
2016/08/05 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
python 把数据 json格式输出的实例代码
2016/10/31 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
Python socket实现简单聊天室
2018/04/01 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
2018/12/11 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
Python关于__name__属性的含义和作用详解
2020/02/19 Python
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
QA工程师岗位职责
2013/11/20 职场文书
公司营业员的自我评价
2014/03/04 职场文书
司仪主持词两篇
2014/03/22 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书