学习OpenCV-Python-Day01

本文介绍了OpenCV-Python中创建和管理窗口的基本方法,包括namedWindow、resizeWindow函数用于窗口操作,imshow用于显示图像,imread用于读取图像文件,以及waitKey和窗口销毁函数。同时详细阐述了不同图像类型的显示规则和读取模式,如IMREAD_GRAYSCALE、IMREAD_UNCHANGED等。
摘要由CSDN通过智能技术生成

学习OpenCV-Python

Day01—学习基本的窗口的创建、调整、显示、销毁和图片读取功能

1. namedWindow(winname, flags:int = …)

函数功能:创建一个名称为winname的窗口,窗口显示的模式flags有:    
1. WINDOW_AUTOSIZE(默认):窗口大小会自动调整以适应所显示的图像,并且不能修改窗口大小。  
2. WINDOW_NORMAL:允许手动更改窗口的大小,通过resizeWindow()修改窗口大小。  
3. WINODW_FULL_SCREEN:将窗口大小更改成全屏(目前测试与WINDOW_AUTOSIZE效果一致)。  
4. WINDOW_OPENGL:窗口支持OpenGL功能。  

2. resizeWindow(winname, width, height)

函数功能:指定winname的窗口大小,新窗口宽度width,新窗口高度height,适用于不包括工具栏的图像。仅适用于具有除WINDOW_AUTOSIZE以外的模式已创建的窗口。

3. imshow(winname, mat)

函数功能:在winname窗口上显示mat图像。根据图像的深度,imshow函数会自动对其显示灰度值进行缩放,规则如下:
1. 如果图像数据类型是8U(8位无符号),则直接显示。  
2. 如果图像数据类型是16U(16位无符号)或32S(32位有符号整数),则imshow函数内部会自动将每个像素值除以256并显示,即将原图像素值的范围由[0~255*256]映射到[0~255]。  
3. 如果图像数据类型是32F(32位浮点数)或64F(64位浮点数),则imshow函数内部会自动将每个像素值乘以255并显示,即将原图像素值的范围由[0~1]映射到[0~255](原图像素值必须要归一化)。    

4. imread(filename: str, flags: int = …)

函数功能:读取路径为str的图片,并且返回图片对象,读取失败则返回None,读取的模式flags有:  
1. IMREAD_GRAYSCALE:使用编解码器的内部灰度转换。结果可能与cvtColor()的输出不同。
2. IMREAD_LOAD_GDAL:驱动GDAL驱动来解码图像,支持以下格式:栅格、矢量。  

如果图像文件中嵌入了EXIF信息,则会考虑EXIF方向,因此图像将相应地旋转,除非传入了标志IMREAD_IGNORE_ORIENTATION或IMREAD_UNCHANGE。
(EXIF信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,需要注意的是 EXIF 信息是不支持 png,webp 等图片格式的,包含了图片旋转信息
3. IMREAD_IGNORE_ORIENTATION:如果设置,不根据EXIF的方向标志旋转图像。
4. IMREAD_UNCHANGED:如果设置了,则按原样返回加载的图像(带alpha通道,否则会被裁剪,忽略EXIF方向)。使用IMREAD_UNCHANGED标志来保持PFM图像的浮点值。  
默认情况下,像素数必须小于2^30。可以使用系统变量OPENCV_IO_MAX_IMAGE_PIXELS来设置限制。

目前,支持的文件格式如下:
始终支持的:
Windows位图 :*.bmp, *.dib,
Sun rasters:*.sr, *.ras。
Radiance HDR: *.hdr, *.pic 。
Portable image format - *.pbm, *.pgm, *.ppm *.pxm, *.pnm

根据注释来变化的支持:
JPEG files - *.jpeg, *.jpg, *.jpe (see the Note section)
JPEG 2000 files - *.jp
Portable Network Graphics - *.png
WebP - *.webp
PFM files - *.pfm
TIFF files - *.tiff, *.tif
OpenEXR Image files - *.exr
Raster and Vector geospatial data supported by GDAL

5. waitKey(delay = …)

函数功能:功能是不断刷新图像,频率时间为delay,单位为ms。该函数通常用在显示图像函数之后。
当delay > 0时,则延迟delay时间(单位ms)。
当delay <= 0时,如果没有键盘触发,则一直等待,否则返回值为键盘按下的ASCII码值。 

6. destroyWindow(winname)

函数功能:关闭并销毁已创建的winname窗口。

7. destroyAllWindows()

函数功能:关闭并销毁已创建的所有窗口。  
对于一个简单的程序,实际上不必调用destroyWindow或destroyAllWindows函数,因为退出时操作系统会自动关闭应用程序的所有资源和窗口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Steven_kk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值