《数字图像处理-OpenCV/Python》连载(5)图像的显示
本书京东优惠购书链接:https://item.jd.com/14098452.html
本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html
第1章 图像的基本操作
为了方便初学者从零开始学习OpenCV-Python,本书从图像的读取、保存和显示等基本操作开始介绍,使读者可以循序渐进地使用和理解本书的每一个例程。
1.2 图像的显示
函数cv.imshow用于显示图像。
函数原型
cv.imshow(winname, mat) → None
cv.waitKey([, delay]) → retval
函数cv.imshow用于在指定窗口中显示OpenCV图像,默认将图像的像素值映射到[0,255] 显示。函数cv.waitKey用于等待按键事件或延迟(毫秒),以保持窗口显示。
参数说明
- winname:指定的显示窗口的名称。
- mat:显示的OpenCV图像,是多维Numpy数组。
- delay:延迟时间,单位为毫秒,0表示无限延迟。
注意问题
(1) 函数cv.imshow后必须带有函数cv.waitKey。如果没有函数cv.waitKey,显示窗口将会一闪而过。
(2) 图像显示窗口在函数cv.waitKey中设置时长延迟(毫秒)后会自动关闭。waitKey(0)表示不会自动关闭窗口。
(3) 显示窗口可以先用函数cv.namedWindow创建并命名,然后用函数cv.imshow显示。如果指定窗口尚未创建,函数cv.imshow会创建一个自适应图像大小的窗口。
(4) 推荐在程序结束前使用函数cv.destroyWindow关闭指定窗口,也可以使用函数cv.destroyAllWindows关闭所有显示窗口。
(5) 可以同时使用多个窗口,但要定义不同的窗口名称(winname)。
(6) 如果显示图像的分辨率高于屏幕的分辨率,则必须先用函数cv.namedWindow创建窗口。
(7) 如果显示图像的数据类型为浮点型,则要将像素值归一化到[0.0, 1.0]才能正常显示。
【例程0104】在OpenCV图像窗口中显示图像
本例程用于在OpenCV图像窗口中显示图像,如图1-1所示。
# 【0104】在OpenCV 图像窗口中显示图像
import cv2 as cv
if __name__ == '__main__':
filepath = "../images/Lena.tif" # 读取文件的路径
img = cv.imread(filepath, flags=1) # flags=1 读取彩色图像(BGR)
gray = cv.imread(filepath, flags=0) # flags=0 读取为灰度图像
cv.imshow("Lena", img) # 在窗口 img1 显示图像
cv.imshow("Lena_gray", gray) # 在窗口 img2 显示图像
key = cv.waitKey(0) # delay=0, 不自动关闭
cv.destroyAllWindows()
图1-1 在OpenCV图像窗口中显示图像
程序说明
(1) 在名称为“Lena”“Lena_gray”的窗口显示彩色或灰度图像(见图1-1)。
(2) 注意函数cv.imshow后必须带有函数cv.waitKey,否则显示窗口会一闪而过。
注:例程读取图像 Lena.tif 如下。
本书京东优惠购书链接:https://item.jd.com/14098452.html
版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/132688395)
Copyright 2023 youcans, XUPT
Crated:2023-09-05
欢迎关注本书CSDN独家连载专栏
《数字图像处理-OpenCV/Python》连载: https://blog.csdn.net/youcans/category_12418787.html