OpenCV中影像的讀取,顯示與保存

  • 2020 年 1 月 19 日
  • 筆記

影像的讀取,顯示與保存

相關函數: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() #釋放窗口,每次執行完要釋放窗口,這是個好習慣

Tags: