python opencv将多个图放在一个窗口的实例详解


Posted in Python onFebruary 28, 2022

编程需求:使用python+opencv对图像进行处理,把两张图放在一起显示

方法:使用numpy模块中的水平堆叠竖直堆叠完成所有图像的堆叠,最后当成一整张图显示。

注意:把不同的尺寸(宽和高)的图片或不同的颜色通道在一起来展示,会发生黑屏,所以要么把两张图的高度设置相同,要么宽度相同。这样才能正常显示。

举个栗子:

1.只设置两张图的高相同,拼接两图,显示;只设置两张图的宽相同,拼接两图,显示。

import cv2
import numpy as np
#读图1和图2
img1 = cv2.imread(r"C:\Users\thorne\PycharmProjects\biyesheji\image\3.jpg")
img2 = cv2.imread(r"C:\Users\thorne\PycharmProjects\biyesheji\image\1.jpeg")
#重新设置图1的宽和高
img1 = cv2.resize(img1, (400, 400))
#设置图2的高为400,与图1相同,宽自己任意设置,我这里设置为200
img2 = cv2.resize(img2, (200, 400))
#设置图2的宽为300,与图1相同,高自己任意设置,我这里设置为200
img3 = cv2.resize(img2, (400, 200))
# 高度相同的图像,横向水平拼接图
imgStackH = np.hstack((img1, img2))
# 宽度相同的图像,垂直水平拼接图
imgStackV = np.vstack((img1, img3))
# 在窗口显示图像 imgStackH 横向水平拼接图
cv2.imshow("DemoStackH", imgStackH)
# 在窗口显示图像 imgStackV垂直水平拼接图
cv2.imshow("DemoStackV", imgStackV)
key = cv2.waitKey(0)  # 等待按键命令

运行结果:宽度相同时拼接

python opencv将多个图放在一个窗口的实例详解

 高度相同时拼接

python opencv将多个图放在一个窗口的实例详解

 从上面结果可以看出,虽然两张图拼接到了一起,但是各自的比例完全不对,所以在使用这个方法的时候要知道:这个方法只适用于两张图片/多张图片 宽高比例相同或者相似的情况。

原本这两张图的比例是相似的,但是为了理解,上面的例子我把图1的比例改了。

下面展示两张比例相似的图拼接的结果:(只拼接高度相同的情况,宽度相同的情况与这个类似,就不写了)

python opencv将多个图放在一个窗口的实例详解

附代码: 

import cv2
import numpy as np
#读图
img1 = cv2.imread(r"C:\Users\thorne\PycharmProjects\biyesheji\image\3.jpg")
img2 = cv2.imread(r"C:\Users\thorne\PycharmProjects\biyesheji\image\1.jpeg")
#1.设置两个图的高相同,然后拼接
#打印了解图1的高:634 和宽:400 (shape方法第一个参数是 高)
print(img1.shape)
#打印了解图2的宽和高:(1000, 667)
print(img2.shape)
#设置图2的高为:634 resize设置宽和高的第二个参数是 高,图2的宽自定义,这里我设置的400
img2 = cv2.resize(img2, (400, 634))
# 高度相同图像可以横向水平拼接
imgStackH = np.hstack((img1, img2))
# 在窗口显示横向拼接图像 imgStackH
cv2.imshow("DemoStackH", imgStackH)
key = cv2.waitKey(0)  # 等待按键命令

到此这篇关于python opencv将多个图放在一个窗口的文章就介绍到这了,更多相关python opencv多个图放在一个窗口内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中使用第三方库xlrd来读取Excel示例
Apr 05 Python
举例详解Python中的split()函数的使用方法
Apr 07 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
python交互式图形编程实例(一)
Nov 17 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
Jan 22 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
Python常见数字运算操作实例小结
Mar 22 Python
python3.6下Numpy库下载与安装图文教程
Apr 02 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
python空元组在all中返回结果详解
Dec 15 Python
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
Apr 14 Python
pandas中关于apply+lambda的应用
Feb 28 #Python
Python中的datetime包与time包包和模块详情
Feb 28 #Python
Python 数据可视化神器Pyecharts绘制图像练习
Python使用OpenCV实现虚拟缩放效果
python保存图片的四个常用方法
Python可视化学习之seaborn调色盘
Python可视化学习之matplotlib内置单颜色
You might like
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
php实现的替换敏感字符串类实例
2014/09/22 PHP
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
ES6基础之默认参数值
2019/02/21 Javascript
python中类的一些方法分析
2014/09/25 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
Python使用剪切板的方法
2017/06/06 Python
python交互式图形编程实例(三)
2017/11/17 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
python名片管理系统开发
2020/06/18 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
餐厅采购员岗位职责
2014/03/06 职场文书
酒店节能减排方案
2014/05/26 职场文书
建设工程授权委托书
2014/09/22 职场文书
三下乡个人总结
2015/03/04 职场文书
2015年大学学生会工作总结
2015/05/13 职场文书
电影地道战观后感
2015/06/04 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python