python如何读入图像

python如何读入图像

python如何读入、显示、保存图像

使用opencv读入、显示、保存图像。示例代码是加载一张原图,显示图片,键盘按下“s”则保存图片,按下其他键则销毁图像显示窗口。

学会三个函数的使用:

cv2.imreadcv2.imshowcv2.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不会提示你图片的路径是否错误,若print 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字符。