OpenCV | 图像读取与显示

OpenCV 对图像进行处理时,常用API如下:

API 描述
cv.imread 根据给定的磁盘路径加载对应的图像,默认使用BGR方式加载
cv.imshow 展示图像
cv.imwrite 将图像保存到磁盘中
cv.waitKey 暂停一段时间,接受键盘输出后,继续执行程序
cv.destroyAllWindows 释放所有资源

目录

  • [一. OpenCV 基本操作函数](#一. OpenCV 基本操作函数)
    • [1. cv.imread ( ) 图像读取](#1. cv.imread ( ) 图像读取)
    • [2. cv.imshow ( ) 图像显示](#2. cv.imshow ( ) 图像显示)
      • [2.3 plt.imshow ( ) 图像显示](#2.3 plt.imshow ( ) 图像显示)
        • [方式一 指定通道](#方式一 指定通道)
        • [方式二 cv.cvtColor ( )](#方式二 cv.cvtColor ( ))
    • [3. cv.waitKey ( ) 图像暂停时间](#3. cv.waitKey ( ) 图像暂停时间)
    • [4. cv.destroyAllWindows ( ) 释放资源](#4. cv.destroyAllWindows ( ) 释放资源)

一. OpenCV 基本操作函数

1. cv.imread ( ) 图像读取

复制代码
	cv2.imread(filepath,flags)
	参数:	
		filepath:要读入图片的完整路径
		flags:读入图片的标志,即默认是使用BGR模型加载图像
			   当设置为0时,表示灰度图像加载
			   当设置为1时,表示加载BGR图像, 默认为1
			   当设置为-1时,表示加载alpha透明通道的图像,即4通道
	数据格式:
		cv2.imread()的默认通道格式HWC,即img.shape
	作用:
		加载图像
		如果图像加载失败,那么返回的对象img为None
	特别注意:
		CV读取的数据为BGR
	
	补充:
   		 通道数C可能出现的值:
			通道数 = 3 读取BGR
			通道数 = 1 读取灰度图
			通道数 = 4 读取RGBA
		【注意】通道数 = 4时 ,其中A为透明度,透明度有两种取值方式:
					1. 取0,不透明;取1,透明
					2. 取20%,80%,....为透明,保留80%,20%与背景做叠加

2. cv.imshow ( ) 图像显示

复制代码
	cv.imshow(winname, mat)
	参数:
		winname:显示图像的窗口名称
		mat: 传入的图像
	【注意】
		CV读取BGR图像

2.3 plt.imshow ( ) 图像显示

复制代码
	【注意】
		matplotlib读取RGB图像
方式一 指定通道
复制代码
	B与R通道转换
方式二 cv.cvtColor ( )
复制代码
cv.cvtColor(src, code, dst=None, dstCn=None)
	参数:
		src:输入图像
		code:颜色空间转换码
		dst:输出图像;大小、深度和原图像一致
		dstCn:
			目标图像的通道数; 
			如果参数是0,通道数自动由src和code决定
	作用:
		转换一种颜色空间到另一种颜色空间

3. cv.waitKey ( ) 图像暂停时间

复制代码
	cv.waitKey( )
	作用:
		让图像暂停delay毫秒
	参数:
		当delay=0时,表示永远暂停; 直至键盘任意输入的时候,结束暂停
		当delay>0时,若在delay毫秒期间没有键盘输出值,则返回-1;否则返回键
	返回值:
		有返回值,返回值为输入字符对应的ASCII码
		即:waitKey返回值的范围为(0-255)
	转换:
		chr ( )
		ord ( )

4. cv.destroyAllWindows ( ) 释放资源

python 复制代码
cv.destroyAllWindows()

感谢阅读🌼

如果喜欢这篇文章,记得点赞👍和转发🔄哦!

有任何想法或问题,欢迎留言交流💬,我们下次见!

本文相关代码存放位置

Opencv1 图像的读取与显示

祝愉快🌟!


相关推荐
weixin_446260857 小时前
Robin: AI驱动的暗网OSINT工具
人工智能
Coder_Boy_7 小时前
基于SpringAI的智能运维平台(AI驱动)
大数据·运维·人工智能
圆号本昊7 小时前
RimWorld AI记忆系统深度技术分析
人工智能
Francek Chen7 小时前
【飞算JavaAI】智能开发助手赋能Java领域,飞算JavaAI全方位解析
java·开发语言·人工智能·ai编程·飞算
Hello娃的8 小时前
【神经网络】人工神经网络ANN
人工智能·深度学习·神经网络
RockHopper20258 小时前
一种认知孪生xLLM架构的原理说明
人工智能·llm·数字孪生·认知孪生
懷淰メ8 小时前
python3GUI--基于YOLOv8深度学习的车牌识别系统(详细图文介绍)
深度学习·opencv·yolo·pyqt·图像识别·车牌识别·pyqt5
weixin199701080168 小时前
哔哩哔哩 item_get_video - 获取视频详情接口对接全攻略:从入门到精通
人工智能·音视频
沛沛老爹8 小时前
Web开发者实战RAG评估:从指标到工程化验证体系
前端·人工智能·llm·agent·rag·评估
qq_200465058 小时前
日益衰落的五常“礼、义、仁、智、信”,蒸蒸日上的五德“升、悟、净、正、合”
人工智能·起名大师·改名大师·姓名学大师·姓名学专家