圖像的讀取,顯示與保存
相關函數:cv2.imread()、cv2.imshow()、cv2.imwrite()
1.讀入圖像:
用cv2.imread()函數來讀取圖像,cv2.imread(路徑,圖像顏色空間)(其中顏色空間默認為BGR彩圖)
cv2.IMREAD_COLOR:讀入一副彩色圖像
cv2.IMREAD_GRAYSCALE:以灰度模式讀入圖像
cv2.IMREAD_UNCHANGED:讀入一幅圖像,並且包括圖像的 alpha 通道
示例代碼
import cv2 img = cv2.imread('buffer.jpg') #默認為BGR彩圖 img = cv2.imread('buffer.jpg',0) #以灰度模式加載圖像
2.顯示圖像:
用cv2.imshow()函數在窗口顯示圖像,窗口大小自適應圖像尺寸。函數的第一個參數是一個窗口標題,第二個參數是圖像。
1 cv2.imshow('image',img) 2 cv2.waitKey(0) #等待任意鍵按下 3 cv2.destroyAllWindows() #銷毀所有窗口
有一種特殊情況,可以在此創建一個窗口並稍后加載圖像。它使用函數cv2.namedWindow(窗口標題,默認參數)完成。
默認情況下,此標志是cv2.WINDOW_AUTOSIZE,窗口大小不可改變。
但如果指定標志為cv2.WINDOW_NORMAL,則可以調整窗口大小。
1 cv2.namedWindow('buffer', cv2.WINDOW_NORMAL) 2 cv2.imshow('buffer',img) 3 cv2.waitKey(0) 4 cv2.destroyAllWindows() #釋放窗口
3.寫圖像:
用cv2.imwrite()函數來保存圖像,第一個參數是文件名稱,第二個參數是想要保存的圖像。
1 cv2.imwrite('buffer.jpg',img) #保存圖像
4.總結:讀取並顯示圖像
1 import cv2 2 img=cv2.imread('buffer.jpg') 3 cv2.namedWindow('image', cv2.WINDOW_NORMAL) #窗口大小可以改變 4 cv2.imshow('image',img) 5 cv2.waitKey(0) #如果不加這一句,在IDLE中執行窗口直接無響應 6 cv2.destroyAllWindows() #釋放窗口,每次執行完要釋放窗口,這是個好習慣