import numpy as np import cv2 #读入一张灰度图片 img=cv2.imread('lena.png',0) #显示图片 cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
cv2.waitKey() 是一个键盘绑定函数。需要指出的是它的时间尺度是毫
秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果按下任意键,这个函数会返回按键的ASCII 码值,程序将会继续运行。如果没有键盘输入,返回值为-1,如果我们设置这个函数的参数为0,那它将会无限期的等待键盘输入。
cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口。如果
你想删除特定的窗口可以使用cv2.destroyWindow(),在括号内输入你想删除的窗口名。
建议:一种特殊的情况是,你也可以先创建一个窗口,之后再加载图像。这种情况下,你可以决定窗口是否可以调整大小。使用到的函数是cv2.namedWindow()。初始设定函数标签是cv2.WINDOW_AUTOSIZE。但是如果你把标签改成cv2.WINDOW_NORMAL,你就可以调整窗口大小了。当图像维度太大,或者要添加轨迹条时,调整窗口大小将会很有用
代码如下:
import numpy as np import cv2 #读入一张灰度图片 img=cv2.imread('lena.png',0) #显示图片 cv2.namedWindow('image', cv2.WINDOW_NORMAL) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
保存图像
cv2.imwrite('5-26.png',img)
下面的程序将会加载一个灰度图,显示图片,按下’s’键保存后退出,或者按下ESC 键退出不保存。
import numpy as np import cv2 #读入一张灰度图片 img=cv2.imread('lena.png',0) #显示图片 cv2.namedWindow('image', cv2.WINDOW_NORMAL) cv2.imshow('image',img) k = cv2.waitKey(0) if k == 27: # wait for ESC key to exit cv2.destroyAllWindows() elif k == ord('s'): # wait for 's' key to save and exit # ord()把字母的ASCII码转出来 cv2.imwrite('5-26.png',img) cv2.destroyAllWindows()
Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法。
import numpy as np import cv2 from matplotlib import pyplot as plt img=cv2.imread('1.jpg',0) plt.imshow(img,cmap='gray',interpolation='bicubic') plt.xticks([]),plt.yticks([]) # to hide tick values on X and Y axis plt.show()
实验结果: