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和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
Python中用字符串调用函数或方法示例代码
Aug 04 Python
Python 查看文件的编码格式方法
Dec 21 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
python随机取list中的元素方法
Apr 08 Python
numpy中loadtxt 的用法详解
Aug 03 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
Apr 22 Python
Python命名空间namespace及作用域原理解析
Jun 05 Python
Python常用数字处理基本操作汇总
Sep 10 Python
Pycharm配置lua编译环境过程图解
Nov 28 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
社区(php&&mysql)五
2006/10/09 PHP
php 保留小数点
2009/04/21 PHP
PHP is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
PHP随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
PHP入门教程之操作符与控制结构流程详解
2016/09/09 PHP
js no-repeat写法 背景不重复
2009/03/18 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
浅析JavaScript中的typeof运算符
2013/11/30 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
Mvc提交表单的四种方法全程详解
2016/08/10 Javascript
js实现登录验证码
2016/12/22 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
2017/10/14 jQuery
JS实现的数组去除重复数据算法小结
2017/11/17 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
windows系统下Python环境搭建教程
2017/03/28 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
利用4行Python代码监测每一行程序的运行时间和空间消耗
2020/04/22 Python
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
初中学生评语大全
2014/04/24 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
地质工程专业毕业生求职信
2014/08/08 职场文书
抄袭同学作业检讨书1000字
2014/11/20 职场文书
学校国庆节活动总结
2015/03/23 职场文书
工程项目合作意向书
2015/05/08 职场文书
走进毛泽东观后感
2015/06/04 职场文书