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编码最佳实践之总结
Feb 14 Python
Python实现二维有序数组查找的方法
Apr 27 Python
Python中的id()函数指的什么
Oct 17 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
python中的二维列表实例详解
Jun 19 Python
Python 修改列表中的元素方法
Jun 26 Python
树莓派采用socket方式文件传输(python)
Jun 22 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
python推导式的使用方法实例
Feb 28 Python
Python词云的正确实现方法实例
May 08 Python
python爬取网页版QQ空间,生成各类图表
Jun 02 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 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
php获取表单中多个同名input元素的值
2014/03/20 PHP
php实现上传图片保存到数据库的方法
2015/02/11 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
获取input标签的所有属性的方法
2016/06/28 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
Vue函数式组件-你值得拥有
2019/05/09 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
python读取excel进行遍历/xlrd模块操作
2020/07/12 Python
Python使用jpype模块调用jar包过程解析
2020/07/29 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
关于期中考试的反思
2014/02/02 职场文书
教师四风问题整改措施
2014/09/25 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
会议营销主持词
2015/07/03 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python