cv2.imread在不加第二個參數的情況下默認將圖片轉換成了一個三維數組,最里面的一維代表的是一個像素的三個通道的灰度值,第二個維度代表的是第一行所有像素的灰度值,第三個維度,也就是最外面的一個維度代表的是這一張圖片。
參數詳解
imread函數有兩個參數,第一個參數是圖片路徑,第二個參數表示讀取圖片的形式,有三種:
- cv2.IMREAD_COLOR:加載彩色圖片,這個是默認參數,可以直接寫1。
- cv2.IMREAD_GRAYSCALE:以灰度模式加載圖片,可以直接寫0。
- cv2.IMREAD_UNCHANGED:包括alpha,可以直接寫-1。
讀取的彩色圖片,是按照 GBR 的形式,對於用 RGB 顯示的函數會出現錯誤,可以按照如下處理:
# 直接 cv2 顯示
img = cv2.imread("xx.jpg")
cv2.imshow("xx",img)
# 如果其他顯示方式,可以通過變換通道來實現
b,g,r = cv2.split(img)
img_rgb = cv2.merge([r,g,b])
plt.figure()
plt.imshow(img_rgb)
plt.show()
