1.读取图像
OpenCV 提供函数
cv2.imread()
用于读取图像,该函数支持各种静态图像格式,其语法格式为:retval = cv2.imread( filename[, flags] )
retval
是返回值,其值为读取到的图像。若未读取到图像,则返回"None";
filename
表示要读取的图像的完整文件名;
flags
是读取标记,用来控制读取文件的类型,详情如下表;
# 例一
import cv2
lena=cv2.imread("lena_color.jpg")
print(lena)
上述程序首先会读取当前目录下的图像lena_color.jpg,然后print语句打印读取的图像的部分像素值。2.显示图像
2.1 namedWindow函数
函数
cv2.namedWindow()
用来创建指定名称的窗口,其语法格式为:None=cv2.namedWindow( winname )
winname
是要创建的窗口的名称。2.2 imshow函数
函数
cv2.imshow()
用来显示图像,其语法格式为:None = cv2.imshow( winname, mat )
winname
是窗口名称,mat
是要显示的图像。2.3 waitKey函数
函数
cv2.waitKey()
用来等待按键,当用户按下键盘后,该语句会被执行,并获取返回值。
其语法格式为:retval = cv2.waitKey( [delay] )
retval
表示返回值。如果没有按键被按下,则返回−1;如果有按键被按下,则返回该按键的 ASCII 码。
delay
表示等待键盘触发的时间,单位是 ms。当该值是负数或者零时,表示无限等待。该值默认为 0。
# 例二
import cv2
lena_color=cv2.imread("lena_color.jpg") #读取图像lena_color.jpg
cv2.namedWindow("lena") #创建一个名为lena的窗口
cv2.imshow("lena", lena_color) #在窗口lena内显示图像lena_color.jpg
cv2.waitKey(0) #设置waitKey(0),代表按任意键继续
在实际应用中,可以先通过函数
cv2.namedWindow()
来创建一个窗口,再让函数cv2.imshow()
引用该窗口来显示图像。
也可以不创建窗口,直接使用函数cv2.imshow()
引用一个并不存在的窗口,并在其中显示指定图像,这样函数cv2.imshow()
实际上会完成如下两步操作。
步骤一:函数cv2.imshow()
创建一个指定名称的新窗口。
步骤二:函数cv2.imshow()
将图像显示在刚创建的窗口内。
如下程序,函数cv2.imshow()
完成了创建lena窗口和显示lena_color.jpg图像的操作,该语句的效果与例二的效果相同。
# 例三
import cv2
lena_color=cv2.imread("lena_color.jpg") #读取图像lena_color.jpg
cv2.imshow("lena", lena_color) #在窗口lena内显示图像lena_color.jpg
cv2.waitKey(0) #设置waitKey(0),代表按任意键继续
2.4 destroyWindow函数
函数
cv2.destroyWindow()
用来释放(销毁)指定窗口,其语法格式为:None = cv2.destroyWindow(winname )
winname
是窗口的名称,在实际使用中,该函数通常与函数cv2.waitKey()
组合实现窗口的释放。2.5 destroyAllWindows函数
函数
cv2.destroyAllWindows()
用来释放(销毁)所有窗口,其语法格式为:
None = cv2.destroyAllWindows( )
3.保存图像
OpenCV 提供了函数
cv2.imwrite()
,用来保存图像,其语法格式为:
retval = cv2.imwrite( filename, img[, params] )
retval
是返回值。若保存成功,则返回逻辑值真(True);若保存不成功,则返回逻辑值假(False)。
filename
是要保存的目标文件的完整路径名,包含文件扩展名。
img
是被保存图像的名称。
params
是保存类型参数,是可选的。
# 例四
import cv2
lena_gray=cv2.imread("Lena_gray.jpg")
r=cv2.imwrite("Lena_gray_copy.jpg",lena_gray)
如例四,程序会先读取当前目录下的图像Lena_gray.jpg,随后生成它的一个副本图像,将其以Lena_gray_copy.jpg保存到当前目录下。