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实现上传样本到virustotal并查询扫描信息的方法
Oct 05 Python
Python中获取对象信息的方法
Apr 27 Python
实例说明Python中比较运算符的使用
May 13 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
Python数据类型详解(一)字符串
May 08 Python
深入理解python中的浅拷贝和深拷贝
May 30 Python
使用pytorch进行图像的顺序读取方法
Jul 27 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
django项目登录中使用图片验证码的实现方法
Aug 15 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
Jan 25 Python
Python切割图片成九宫格的示例代码
Mar 10 Python
python删除文件、清空目录的实现方法
Sep 23 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
两个强悍的php 图像处理类1
2009/06/15 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
js对字符串进行编码的方法总结(推荐)
2016/11/10 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
React Native基础入门之调试React Native应用的一小步
2018/07/02 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python-基础-入门 简介
2014/08/09 Python
python中函数默认值使用注意点详解
2016/06/01 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Python数学形态学实例分析
2019/09/06 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
python中的插入排序的简单用法
2021/01/19 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
团员学习总结的自我评价范文
2013/10/14 职场文书
保险专业大专生求职信
2013/10/26 职场文书
《童趣》教学反思
2014/02/19 职场文书
酒店采购员岗位职责
2014/03/14 职场文书
优秀语文教师事迹
2014/05/18 职场文书
2014年领班工作总结
2014/11/25 职场文书
python requests模块的使用示例
2021/04/07 Python
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python