📜  Python OpenCV 基础 0: imshow 显示图像

📅  最后修改于: 2020-08-26 00:59:31             🧑  作者: Mango

在本系列的教程中,我们将学习利用Python来使用OpenCV库。

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

在Python中读取的图像格式都是以numpy的格式存储,不熟悉的小伙伴可以查阅以下链接以及相关的内容。

https://www.imangodoc.com/563.html

OpenCV imshow()显示图像

您可以在执行Python OpenCV应用程序期间向用户显示图像,要使用opencv cv2库显示图像,可以使用cv2.imshow()函数。

cv2.imshow(window_name, image)

其中显示numpy.ndarray window_name的窗口的标题在image哪里。如果尚未创建窗口,则会创建一个新窗口以适合图像。

示例1:使用cv2.imshow()显示图像

 

import cv2

#read image 
img = cv2.imread('/home/jakin/Downloads/timg.jpg')
 
#show image
cv2.imshow('Example - Show image in window',img)
 
cv2.waitKey(0) # waits until a key is pressed
cv2.destroyAllWindows() # destroys the window showing image

cv2.waitKey(0)对于在此语句中保持python程序的执行很重要,因此图像窗口保持可见。如果不提供此语句,则cv2.imshow()会在几分之一秒内执行,并且程序会关闭它打开的所有窗口,这几乎使得看不到窗口上的图像。如果cv2.imshow(10)则表示暂时10ms。

打开一个窗口以显示图像。另外,窗口大小应适合图像。如果图像尺寸大于屏幕分辨率,则会打开一个窗口,其中包含图像的缩小版本。

示例2:使用OpenCV将numpy.ndarray显示为图像

在此示例中,我们尝试使用imshow()将ndarray显示为图像。我们初始化一个形状为(300,300,3)的numpy数组,使其表示具有三个颜色通道的300×300图像。125是初始值,因此我们得到中间的灰色。

import cv2
import numpy as np

#numpy array
ndarray = np.full((300,300,3), 125, dtype=np.uint8)
 
#show image
cv2.imshow('Example - Show image in window', ndarray)
 
cv2.waitKey(0) # waits until a key is pressed
cv2.destroyAllWindows() # destroys the window showing image

—–>>>>>感谢阅读与支持