您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細介紹了如何在python中利用opencv把圖片轉為灰度圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,發現的小伙伴們可以參考一下:
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向對象的腳本語言,其最初的設計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發獨立的項目和大型項目。
使用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)
以上就是億速云小編為大家收集整理的如何在python中利用opencv把圖片轉為灰度圖,如何覺得億速云網站的內容還不錯,歡迎將億速云網站推薦給身邊好友。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。