如何读入python,显示和保存图像?
使用opencv
读取、显示和保存图像。示例代码是加载一张显示图片的原始图片,键盘按下“s保存图片,按其他键销毁图像显示窗口。
学习使用三个函数:
cv2.imread
、cv2.imshow
、cv2.imwrite
。
python #-*-coding:utf-8-*- importnumpyasnp importcv2 img=cv2.imread('D:/img/test/000.jpg',cv2.IMREAD_UNCHANGED) cv2.namedWindow('image',cv2.WINDOW_NORMAL) cv2.imshow('image',img) key=cv2.waitKey(0) ifkey==ord('s'): cv2.imwrite('D:/img/test/0005.jpg',img) else: cv2.destroyWindow('image')
读入图像
img = cv2.imread('D:/img/test/000.jpg')
打开原图。
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_GRAYSCALE)
图像以灰度模式读取。
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_COLOR)
阅读彩色图像时,会忽略图像的透明度。
img = cv2.imread('D:/img/test/000.jpg', cv2.IMREAD_UNCHANGED)
读入原图。
读取图像的返回值
print type(img)结果为<type 'numpy.ndarray'>
,可见是多维数组。
opencv不会提示你的图片路径是否错误,如果printt 如果img的结果是None,则表示图像路径是错误的。如果结果是矩阵数组,则表示路径正确。
显示图像
cv2.imshow('image', img)
图像显示在窗口,图像的名字是image,img参数是我想要显示的图像,可以同时打开多个图像显示窗口,但它们的名字必须不同。
此时,图像大小默认为原始图像的大小。如果窗口大小可调,请使用cv2.namedWindow()
即可。
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
可调节image窗口的大小。
cv2.namedWindow('image', cv2.WINDOW_AUTOSIZE)
如果不填写第二个参数,则默认窗口尺寸为图像尺寸,且不可调。
键盘绑定函数,cv2.waitKey(0)设置参数为0,表示等待键盘输入。如果是其他值,则表示在值得毫秒的时间内等待键盘输入。如果没有输入,则返回-1。如果有输入,则返回输入键的ASCII值。
保存图像
cv2.imwrite('D:/img/test/0002.jpg', img)
第一个参数是保存图像的路径,第二个参数是保存图像。
删除已建立的窗口
cv2.destroyAllWindows()
破坏所有的窗户。
cv2.destroyWindow('image')
销毁特定的窗口,参数是您想要销毁的窗口名称。
其他
ord()
和chr()
函数:
ord()函数的参数是ASCII字符,返回值是相应的十进制整数,即ASCII值。
chr()函数参数为0 - 256 返回值是当前整数对应的ASCII字符。
推荐课程:Python快速教程从入门到精通