首頁>技術>

使用opencv將圖片轉為灰度圖主要有兩種方法,第一種是將彩色圖轉為灰度圖,第二種是在使用OpenCV讀取圖片的時候直接讀取為灰度圖。將彩色圖轉為灰度圖

import cv2

import numpy as np

if __name__ == "__main__":

img_path = "timg.jpg"

img = cv2.imread(img_path)

#獲取圖片的寬和高

width,height = img.shape[:2][::-1]

#將圖片縮小便於顯示觀看

img_resize = cv2.resize(img,

(int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)

cv2.imshow("img",img_resize)

print("img_reisze shape:{}".format(np.shape(img_resize)))

#將圖片轉為灰度圖

img_gray = cv2.cvtColor(img_resize,cv2.COLOR_RGB2GRAY)

cv2.imshow("img_gray",img_gray)

print("img_gray shape:{}".format(np.shape(img_gray)))

cv2.waitKey()

img_reisze shape:(337, 600, 3)

img_gray shape:(337, 600)

使用opencv讀取圖片的時候,預設使用的是BGR來讀取圖片的,可以看到原始讀取的圖片是3通道的,經過轉換之後變成了單通道。

直接將圖片採用灰度圖的方式進行讀取

import cv2

import numpy as np

if __name__ == "__main__":

img_path = "timg.jpg"

img = cv2.imread(img_path)

#獲取圖片的寬和高

width,height = img.shape[:2][::-1]

#將圖片縮小便於顯示觀看

img_resize = cv2.resize(img,

(int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)

cv2.imshow("img",img_resize)

print("img_reisze shape:{}".format(np.shape(img_resize)))

#讀取灰度圖

img_gray = cv2.imread(img_path,cv2.IMREAD_GRAYSCALE)

#將圖片縮小便於顯示觀看

img_gray = cv2.resize(img_gray,

(int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)

cv2.imshow("img_gray",img_gray)

print("img_gray shape:{}".format(np.shape(img_gray)))

cv2.waitKey()

img_reisze shape:(337, 600, 3)img_gray shape:(337, 600)

12
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 都 2021 年了,Serverless 能取代微服務嗎?