1. 程式人生 > >OpenCV入門筆記(二) 圖片的文件操作

OpenCV入門筆記(二) 圖片的文件操作

strong asc nump str destroy type convert 代碼 creat

以下介紹一下重要的幾個,設計基本 圖片處理 的函數,依次來了解OpenCV的入門知識。具體的具體使用方法還是以官方的API【Official Tutorials】【Python-OpenCV】為準。


imread

圖片讀取函數。使用方法例如以下

# read image with color
img = cv2.imread("./lena.jpg")

# OR read gray image
imgGray = cv2.imread("./lena.jpg", 0) 

# convert from BGR to GRAY
imgGray2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  • 第一個就是正常的讀入一張圖片;
  • 第二個加一個flag值,如flag為0。則表示讀入一個灰色的圖片。相當於。讀入正常帶彩色通道的圖片後。再轉化一下。

imwrite

存取圖片函數,使用方法例如以下

cv2.imwrite("gray.jpg", imgGray)

非常easy,直接文件名稱,加你要存取的圖片即可了。

對了,這裏的imgGray類型,因為Python中沒有類型聲明,所以用了幾天還不知道是個啥。特意去試了一下。用Python的交互界面,type(imgGray)會輸出為 ‘numpy.ndarray’ 的類型。我個人理解,事實上就是圖片的矩陣數組。


顯示圖片

以下的幾個函數結合起來用,能夠把一張圖片顯示出來

title = "gray image"
cv2.namedWindow(title, cv2.WINDOW_NORMAL)
cv2.imshow(title, imgGray)
cv2.waitKey(0)
cv2.destroyAllWindows()
  • namedWindow() 是創建一個窗體。WINDOWS_NORMAL這個參數能夠不加,可是加了能夠使窗體能夠調節大小。
  • imshow() 不用說,顯示圖片用
  • waitKey() 是讓窗體暫停一下,等待用戶輸入才結束。

    否則會一閃而過。

  • destroyAllWindows() 別忘了銷毀全部的窗體

完整樣例

以下的代碼非常easy。就是讀取一張圖片,轉化成灰度圖並存儲在本地。然後顯示出來。

import cv2  

# read image
img = cv2.imread(‘./1.jpg‘)  

# change it to gray image
imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  

# write gray image
cv2.imwrite("gray.jpg", imgGray)

title = "gray image"
# create a window
cv2.namedWindow(title, cv2.WINDOW_NORMAL)

# show the picture in the window
cv2.imshow(title, imgGray)  

# wait until any input of user
cv2.waitKey(0)

# destroy all window
cv2.destroyAllWindows()

OpenCV入門筆記(二) 圖片的文件操作