赞
踩
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时,表示读取的是灰度图像;
【注意】:如果读取的是彩色图像,也将转换为与彩色图像对应的灰度图像
import cv2
# 读取 my.jpg, 等价于 image = cv2.imread("my.jpg",1)
image = cv2.imread("../imgs/my.jpg")
print(image)
将图像显示出来,效果会更加直观。
OpenCV提供了imshow()方法、waitKey()方法和destroyAllWindows()方法。
cv2.imshow( winname,mat)
参数说明:
winname :显示图像的窗口名称。
mat :要显示的图像。
当用户按下键盘上的任意按键时,将执行waitKey()方法,并且获取 waitKey()方法的返回值。其语法格式如下:
retval = cv2 .waitkey(delay)
参数说明:
retval
: 与被按下的按键相对应的ASCI码。
例如,Esc键的ASCII 码是27,当用户按下【Esc】键时,waitKey()方法的返回值是27。
如果没有按键被按下,waitKey()方法的返回值是-1。
delay
:等待用户按下键盘上按键的时间,单位为毫秒(ms)。
当 delay的值为负数、0或者为空时,表示无限等待用户按下键盘上按键的时间。
其语法格式如下:
cv2 .destr oyAllwindows()
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:要保存的图像。
import cv2
image = cv2.imread("../imgs/my.jpg")
cv2.imwrite("../imgs/my_save.jpg",image)
处理图像的过程中,经常需要获取图像的大小、类型等图像属性。OpenCV提供了shape、size和 dtype这3个常用属性。
shape
: 如果是彩色图像,那么获取的是一个由图像的像素列数、像素行数和通道数所组成的数组,即(像素列数,像素行数,通道数); 如果是灰度图像,那么获取的是一个包含图像的像素列数、像素行数的数组,即(像素行数,像素列数)。
size
: 获取的是图像包含的像素个数,其值为“像素列数×像素行数×通道数”。(灰度图像的通道数为1)
dtype
: 获取的是图像的数据类型。
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)#打印灰度图像的数据类型
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。