当前位置:   article > 正文

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

python opencv读取图像

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

一、读取图像

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

image = cv2.imread (filename,flags)
  • 1

参数说明:

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

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

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

import cv2

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

在这里插入图片描述

二、显示图像

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

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

cv2.imshow( winname,mat)
  • 1

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

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

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

retval = cv2 .waitkey(delay)
  • 1

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

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

其语法格式如下:

cv2 .destr oyAllwindows()
  • 1

实例2:显示图像

import cv2

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

cv2.imshow("backg",image)
cv2.waitKey()
cv2.destroyWindow()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

三、保存图像

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

cv2.inwrite(filename, img )
  • 1

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

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

import cv2

image = cv2.imread("../imgs/my.jpg")
cv2.imwrite("../imgs/my_save.jpg",image)
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

四、获取图像属性

处理图像的过程中,经常需要获取图像的大小、类型等图像属性。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)#打印灰度图像的数据类型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/153335
推荐阅读
相关标签
  

闽ICP备14008679号