【Python】手把手教你用Python做一个图像融合demo,小白可上手!
创作背景
说到融合,一下子会让我们这些95后想起来童年的动漫游戏王了!
发动魔法卡——融合!
哈哈,今天说得当然不是游戏王里的魔法了,但是我们使用的是Python魔法,今天我们将使用Python编程语言,以及自带的图像处理工具包进行图像融合操作,来实现图像融合的酷炫效果!
前几天在网上看了一个demo,使用OpenCV(开源计算机视觉库)进行图像的融合操作,那么何谓图像的融合呢?
所谓图像的融合指的是指两幅图像变成,“你中有我,我中有你”(最近在看搜神传电视剧,哎,时间过得真的快!童年的回忆啊!)
融合效果
说回正题,将两幅图像进行融合操作,从微观上来说是将两幅图片的像素点用一定的比例进行叠加,得到新的的像素矩阵,那么到底这到底是个什么效果呢?
我们直接上来看,最终的效果展示!
第一组:
待融合图片
融合结果
第二组:
待融合图片
融合结果
第三组:
待融合图片
融合结果
怎么样看完了上面的几组图片,是不是觉得图像融合的操作很酷炫呢,让我们一起来看看具体的实现方法。
算法流程
我们知道图像是一组矩阵数据,每一个矩阵对应着图像的像素值,彩色图像包括三个通道,R,G,B,分别对应着红,绿,蓝的三原色。那么我们进行图像的融合的底层原理就是进行图像的像素点的叠加融合,将二者采用一定量的比例进行融合操作,得到最终的融合版本图像,进行显示即可。
代码实现
首先导入所使用的Python工具包,使用的是numpy的数据科学工具包,以及OpenCV的图像处理包。
import cv2
import numpy as np
将图像信息转换为矩阵信息进行储存
img = cv2.imread("./pic1.jpeg").astype(np.float32)
H, W, C = img.shapeimg2 = cv2.imread('./pic2.jpg').astype(np.float32)
img = cv2.resize(img, (499, 375));
其中的读入图片可以修改为自己的图片,进行DIY的调整,但是需要将两幅图片的大小进行统一化的处理,否则无法进行融合。
设置图像的融合权重,可以采用以其中一副图片为主,另一张图片为辅助,调节融合权重的数值,更改融合的效果。
a = 0.5
进行像素值的实际相加与融合计算操作,计算最终融合图像的像素值。
out = img * a + img2 * (1 - a)
out = out.astype(np.uint8)
最后将融合的图像进行显示即可
cv2.imwrite("result.jpg", out)
cv2.imshow("result", out)
cv2.waitKey(0)
cv2.destroyAllWindows()
怎么样,是不是感觉很容易做呢?那就赶紧自己动手试试吧,不仅可以尝试两张图片的融合,还可以进行三张图片的融合!
完整代码,在留言区的网盘链接,下载后,导入Pycharm即可使用,更多详细技术细节可以加我微信,与我进行交流哦~
我们下期见~
参考链接:https://www.cnblogs.com/wojianxin/p/12551921.html
往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑
获取本站知识星球优惠券,复制链接直接打开:
https://t.zsxq.com/qFiUFMV
本站qq群704220115。加入微信群请扫码:
【Python】手把手教你用Python做一个图像融合demo,小白可上手!相关推荐
- python 变成float32_【Python】手把手教你用Python做一个图像融合demo,小白可上手!...
创作背景 说到融合,一下子会让我们这些95后想起来童年的动漫游戏王了! 发动魔法卡--融合! 哈哈,今天说得当然不是游戏王里的魔法了,但是我们使用的是Python魔法,今天我们将使用Python编程语 ...
- 手把手教你用SetWindowsHookEx做一个键盘记录器
"无忌,我教你的还记得多少?" "回太师傅,我只记得一大半." "那,现在呢?" "已经剩下一小半了." "那 ...
- 动手实践丨手把手教你用STM32做一个智能鱼缸
摘要:本文基于STM32单片机设计了一款基于物联网的智能鱼缸. 本文分享自华为云社区<基于STM32+华为云IOT设计的物联网鱼缸[玩转华为云]>,作者: DS小龙哥 . 1. 前言 为了 ...
- 手把手教你10分钟做一个音乐播放器
一.话不多,先看效果: 视频B站效果演示地址~ (大佬勿入,大佬勿入,大佬勿入)这是个单页面音乐播放器,只用到了 html+css 与很基础的vue语法,所以适合初学者,看一看10分钟就会了~ 这个 ...
- python代码示例图形-纯干货:手把手教你用Python做数据可视化(附代码)
原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...
- python画图代码大全-纯干货:手把手教你用Python做数据可视化(附代码)
原标题:纯干货:手把手教你用Python做数据可视化(附代码) 导读:制作提供信息的可视化(有时称为绘图)是数据分析中的最重要任务之一.可视化可能是探索过程的一部分,例如,帮助识别异常值或所需的数据转 ...
- 手把手教你用Python打造一个语音合成系统
击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 大弦嘈嘈如急雨,小弦切切如私语. / ...
- python界面设计-手把手教你用Python设计一个简单的命令行界面
原标题:手把手教你用Python设计一个简单的命令行界面 对 Python 程序来说,完备的命令行界面可以提升团队的工作效率,减少调用时可能碰到的困扰.今天,我们就来教大家如何设计功能完整的 Pyth ...
- garch预测 python_【2019年度合辑】手把手教你用Python做股票量化分析
引言 不知不觉,2019年已接近尾声,Python金融量化公众号也有一年零两个月.公众号自设立以来,专注于分享Python在金融量化领域的应用,发布了四十余篇原创文章,超过两万人关注.这一路走来,有过 ...
最新文章
- 将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)
- AutoML的相关链接大全
- 什么是 Change Notification,为什么它很重要(译)
- 重新认识块级元素--DIV
- 也可以看看GCD(杭州电2504)(gcd)
- Android NDK学习(七):NDK 编译支持 C++特有的库
- Resource接口
- 沫沫金:PS快速扣头发丝【详细教程】
- github使用总结
- CentOS6.X安装QQ2012
- mysql 启动报错Can't connect to local MySQL server through socket '/data/mysql/mysql/mysql.sock'(111)...
- ERP流程的一个生动的示例~~
- Nt/2000/xp平台下的存储控制模型(Access Control Model)
- Windows核心编程_获取鼠标指定位置的RGB颜色值
- python pyspark用法
- 【TPshop踩雷篇 — 数据库连接配置失败】
- 电商平台后台管理系统--->系统详细设计(用户登录、商品管理模块)
- sentaurus器件仿真(sdevice部分)(二)
- PSP: PMP格式视频制作教程
- 一文了解人工智能——学科介绍、发展史、三大学派
热门文章
- Excel制作图表的方法
- Spring 学习04
- 160. Intersection of Two Linked Lists
- cobbler一键部署centos7.4(脚本)
- 【bzoj2324】[ZJOI2011]营救皮卡丘 最短路-Floyd+有上下界费用流
- Python 基础篇:介绍
- 关于c++输出中的endl
- POJ 计算几何专项训练(1) 【2318】【2398】【3304】【2653】【1556】【1066】...
- iOS学习系列 - 标签Tag列表的实现
- 使用.NET中的XML注释(一) -- XML注释标签讲解