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快速排序代码实例
Nov 21 Python
python通过邮件服务器端口发送邮件的方法
Apr 30 Python
Python入门之三角函数atan2()函数详解
Nov 08 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
python实现扫描ip地址的小程序
Apr 16 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
用python3读取python2的pickle数据方式
Dec 25 Python
Python sqlite3查询操作过程解析
Feb 20 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
深入理解Python变量的数据类型和存储
Feb 01 Python
如何使用Python实现一个简易的ORM模型
May 12 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 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句法规则详解 入门学习
2011/11/09 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
php模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
jQuery ajax BUG:object doesn't support this property or method
2010/07/06 Javascript
关于js datetime的那点事
2011/11/15 Javascript
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
JS TextArea字符串长度限制代码集合
2012/10/31 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
nodejs搭建本地服务器并访问文件操作示例
2019/05/11 NodeJs
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
jQuery实现日历效果
2020/09/11 jQuery
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
python中的多重继承实例讲解
2014/09/28 Python
Python3.5实现的罗马数字转换成整数功能示例
2019/02/25 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python 如何查找特定类型文件
2020/08/17 Python
报关报检委托书
2014/04/08 职场文书
2014党员自我评议表范文
2014/09/20 职场文书
2014年青年教师工作总结
2014/12/17 职场文书
先进工作者个人总结
2015/02/15 职场文书
读书笔记怎么写
2015/07/01 职场文书
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS