《数字图像处理-OpenCV/Python》连载(5)图像的显示

《数字图像处理-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

猜你喜欢

转载自blog.csdn.net/youcans/article/details/132688395
今日推荐