【OpenCV】Python OpenCV的基本图像处理操作:读取、显示、保存、获取属性

Python OpenCV的基本图像处理操作包括读取图像、显示图像、保存图像、获取图像属性等。

一、读取图像

OpenCV提供了用于读取图像的imread()方法,其语法格式如下:

image = cv2.imread (filename,flags)

参数说明:

image: 是 imread() 方法的返回值,返回的是读取到的图像。
filename : 要读取的图像的完整文件名。例如,要读取当前项目目录下的1.1.jpg,filename的值为“1.1.jpg”。
flags : 读取图像颜色类型的标记。

当flags的默认值为1时,表示读取的是彩色图像,此时的flags 值可以省略;
当flags的值为0时,表示读取的是灰度图像;
【注意】:如果读取的是彩色图像,也将转换为与彩色图像对应的灰度图像

实例1:读取当前项目目录下的图像

import cv2

# 读取 my.jpg, 等价于 image = cv2.imread("my.jpg",1)
image = cv2.imread("../imgs/my.jpg")
print(image)

在这里插入图片描述

二、显示图像

将图像显示出来,效果会更加直观。
OpenCV提供了imshow()方法、waitKey()方法和destroyAllWindows()方法。

2.1 imshow()方法用于显示图像:

cv2.imshow( winname,mat)

参数说明:
winname :显示图像的窗口名称。
mat :要显示的图像。

2.2 waitKey()方法用于等待用户按下键盘上按键的时间。

当用户按下键盘上的任意按键时,将执行waitKey()方法,并且获取 waitKey()方法的返回值。其语法格式如下:

retval = cv2 .waitkey(delay)

参数说明:
retval: 与被按下的按键相对应的ASCI码。
例如,Esc键的ASCII 码是27,当用户按下【Esc】键时,waitKey()方法的返回值是27。
如果没有按键被按下,waitKey()方法的返回值是-1。
delay:等待用户按下键盘上按键的时间,单位为毫秒(ms)。
当 delay的值为负数、0或者为空时,表示无限等待用户按下键盘上按键的时间。

2.3 destroyAllWindows()方法用于销毁所有正在显示图像的窗口。

其语法格式如下:

cv2 .destr oyAllwindows()

实例2:显示图像

import cv2

image = cv2.imread("../imgs/my.jpg",1)

cv2.imshow("backg",image)
cv2.waitKey()
cv2.destroyWindow()

在这里插入图片描述

三、保存图像

OpenCV提供了用于按照指定路径保存图像的imwrite()方法,其语法格式如下:

cv2.inwrite(filename, img )

参数说明:
filename :保存图像时所用的定整路径。
img:要保存的图像。

实例3:按照指定路径保存图像

import cv2

image = cv2.imread("../imgs/my.jpg")
cv2.imwrite("../imgs/my_save.jpg",image)

在这里插入图片描述

四、获取图像属性

处理图像的过程中,经常需要获取图像的大小、类型等图像属性。OpenCV提供了shape、size和 dtype这3个常用属性。
shape: 如果是彩色图像,那么获取的是一个由图像的像素列数、像素行数和通道数所组成的数组,即(像素列数,像素行数,通道数); 如果是灰度图像,那么获取的是一个包含图像的像素列数、像素行数的数组,即(像素行数,像素列数)。
size: 获取的是图像包含的像素个数,其值为“像素列数×像素行数×通道数”。(灰度图像的通道数为1)
dtype: 获取的是图像的数据类型。

实例4:分别获取彩色图像和灰度图像的属性

import cv2

image_Color = cv2.imread("../imgs/my.jpg")#读取1.1.jpg
print("获取彩色图像的属性:")
print( "shape =", image_Color.shape)#打印彩色图像的(像素行数,像素列数,通道数)
print( "size =", image_Color.size)#打印彩色图像包含的像素个数
print( "dtype =", image_Color.dtype)#打印彩色图像的数据类型

image_Gray = cv2.imread("../imgs/my.jpg", 0)#读取与1.1.jpg(彩色图像〉对应的灰度图像
print("获取灰度图像的属性:")
print( "shape =", image_Gray. shape)#打印灰度图像的〔像素行数,像素列数)
print( "size =", image_Gray.size)#打印灰度图像包含的像素个数
print( "dtype =", image_Gray.dtype)#打印灰度图像的数据类型

在这里插入图片描述

  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值