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 装饰器功能以及函数参数使用介绍
Jan 27 Python
初步解析Python下的多进程编程
Apr 28 Python
Python实现简单拆分PDF文件的方法
Jul 30 Python
python实现下载文件的三种方法
Feb 09 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
对python字典过滤条件的实例详解
Jan 22 Python
Python3最长回文子串算法示例
Mar 04 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
Aug 17 Python
Django 限制访问频率的思路详解
Dec 24 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 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为php增加openssl模块的方法
2011/06/14 PHP
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
WordPress开发中短代码的实现及相关函数使用技巧
2016/01/05 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
[40:06]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第一场
2018/04/04 DOTA
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
python刷投票的脚本实现代码
2014/11/08 Python
Python第三方库的安装方法总结
2016/06/06 Python
python与C互相调用的方法详解
2017/07/14 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
详解python里的命名规范
2018/07/16 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
详解Python多线程下的list
2020/07/03 Python
HTML5 DeviceOrientation实现手机网站摇一摇功能代码实例
2015/04/24 HTML / CSS
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
机械制造专业个人的自我评价
2013/12/28 职场文书
网络营销计划书
2015/01/17 职场文书
人民的好儿女观后感
2015/06/18 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL
nginx配置之并发频次限制
2022/04/18 Servers
python标准库ElementTree处理xml
2022/05/20 Python