Python OpenCV一个窗口中显示多幅图像

yizhihongxing

Python OpenCV 可以通过cv2.imshow()函数展示一幅图像。但如果需要在一个窗口中显示多幅图像,就需要在窗口中创建多个窗格,每个窗格中显示一幅图像。

实现Python OpenCV一个窗口中显示多幅图像攻略如下:

1.创建窗口:使用cv2.namedWindow()函数创建一个空的窗口,可以设置窗口名。

import cv2
cv2.namedWindow('images', cv2.WINDOW_NORMAL)

2.装载图片:使用cv2.imread()的方法加载图像。通过添加waitkey()函数,程序会在这里停顿,等待用户按下某个键。这样,我们就可以在窗口中看到已经加载的图片。使用cv2.imshow()在窗格中显示图像。

img1 = cv2.imread('img1.jpg')
cv2.imshow('images', img1)
cv2.waitKey(0)

3.添加新的窗格:使用cv2.resizeWindow()函数可以指定窗口的大小,通过设置x,y轴的宽度来确定每一块窗格的大小。

cv2.resizeWindow('images', 600, 600)

4.在新的窗格中显示图像:使用cv2.imshow()在新的窗格中显示图像,确定窗格的坐标及大小。

img2 = cv2.imread('img2.jpg')
cv2.imshow('images', img1)
cv2.waitKey(0)

cv2.imshow('images', img2)
cv2.moveWindow('images',600,0)
cv2.waitKey(0)

cv2.destroyAllWindows()

以上代码片段演示了Python OpenCV一个窗口中显示多幅图像的基本方法。

以下是另外一种实现方法,同时展示三幅图片在同一张窗口中。其中使用到了另一个常用的函数——numpy库中的concatenate()函数。

import cv2
import numpy as np

# 使用concatenate()合并图片
img1 = cv2.imread('img1.jpg')
img2 = cv2.imread('img2.jpg')
img3 = cv2.imread('img3.jpg')

h1, w1 = img1.shape[:2]
h2, w2 = img2.shape[:2]
h3, w3 = img3.shape[:2]

res_img = np.zeros((max(h1, h2, h3), w1 + w2 + w3, 3), dtype=np.uint8)

res_img[0:h1, 0:w1] = img1
res_img[0:h2, w1:w1 + w2] = img2
res_img[0:h3, w1 + w2:w1 + w2 + w3] = img3

cv2.imshow('images', res_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

以上代码片段演示了Python OpenCV一个窗口中显示多幅图像更直接的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python OpenCV一个窗口中显示多幅图像 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • python批量实现Word文件转换为PDF文件

    让我详细讲解一下“Python批量实现Word文件转换为PDF文件”的完整攻略。 1. 安装必要的库 在Python中,我们可以利用第三方库来实现Word文件的转换为PDF文件。因此,在开始之前,我们需要先安装必要的库,比如comtypes和win32com,可以通过以下命令进行安装: pip install comtypes pip install pyw…

    python 2023年6月5日
    00
  • 通过Python实现自动填写调查问卷

    下面我将详细讲解“通过Python实现自动填写调查问卷”的完整攻略。 一、需求分析 在开始编写自动填写调查问卷的Python脚本之前,我们需要先梳理一下需要实现的功能,以及需要用到的工具和技术: 需要自动化填写调查问卷,也就是需要模拟浏览器行为,通过Python脚本自动在调查问卷页面上进行填写操作; 需要获取调查问卷的url地址和填写数据,也就是需要使用Py…

    python 2023年5月19日
    00
  • odoo 开发入门教程系列-QWeb简史

    QWeb简史 到目前为止,我们的房地产模块的界面设计相当有限。构建列表视图很简单,因为只需要字段列表。表单视图也是如此:尽管使用了一些标记,如<group>或<page>,但在设计方面几乎没有什么可做的。 然而,如果我们想给我们的应用程序一个独特的外观,就必须更进一步,能够设计新的视图。此外,PDF报告或网站页面等其他功能需要另一个更…

    python 2023年4月22日
    00
  • Python文件操作的方法

    当我们使用Python进行编程工作时,文件操作是一个非常基础并且重要的工作。Python提供了许多内置的文件操作方法,下面是一些常见的Python文件操作的方法: Python文件操作的方法 打开文件 在Python中,我们可以通过open()函数打开一个文件,这个函数的基本语法如下: f = open(file, mode=’r’, buffering=-…

    python 2023年5月30日
    00
  • 如何使用Python在MySQL中使用触发器?

    当使用Python与MySQL一起使用时,可以使用触发器来自动执行某些操作。触发器是MySQL中的一种特殊类型的存储过程,它在特定的事件发生时自动执行。以下是使用Python在MySQL中使用触发器的完整略,包括创建触发器、使用触发器和删除触发器等步骤。同时,还提供了两个示例来演示如何Python中使用MySQL触发器。 创建触发器 在Python中使用触发…

    python 2023年5月12日
    00
  • 如何使用Python进行视频处理?

    使用Python进行视频处理可以借助很多第三方库,比如OpenCV和MoviePy等。以下是使用这两个库进行视频处理的完整攻略。 安装必要的库 在开始之前,需要先安装必要的库。可以使用以下命令在终端中安装: pip install opencv-python moviepy 视频读取与写入 在使用OpenCV进行视频处理时,可以使用cv2.VideoCapt…

    python 2023年4月19日
    00
  • 如何交换一个给定的NumPy数组的列

    交换一个给定的NumPy数组的列可以通过多种方式实现,下面是一种基于NumPy库的方法: 步骤1:加载NumPy库 首先需要加载NumPy库,以便使用其数组操作相关的函数。 import numpy as np 步骤2:创建一个NumPy数组 接下来需要创建一个给定的NumPy数组,下面是一个示例: arr = np.array([[1, 2, 3], [4…

    python-answer 2023年3月25日
    00
  • 解决Python 中JSONDecodeError: Expecting value: line 1 column 1 (char 0)错误

    当使用Python解析JSON字符串时,如果JSON字符串格式不正确,就会抛出JSONDecodeError错误。其中,常见的错误是Expecting value,表示JSON字符串中缺少值,或者最顶层的数据类型不是列表或字典。 下面是完整的攻略,帮助你解决Python中的JSONDecodeError错误: 1. 检查JSON字符串格式是否正确 检查JSO…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部