您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么利用Python讀取圖像并將圖像進行灰度化,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
python讀取圖像
import cv2 # 利用opencv讀取圖像 import numpy as np # 利用matplotlib顯示圖像 import matplotlib.pyplot as plt img = cv2.imread("./lena.png") #讀取圖像 # 顯示圖像 plt.imshow(img) plt.axis('off') plt.show()
問:為什么畫出的圖像和原圖有色差呢?
答:opencv的顏色通道順序為[B,G,R],而matplotlib的顏色通道順序為[R,G,B]。
解決方案:把R和B的位置調換一下
img = img[:,:,(2,1,0)]
再次顯示圖像
效果:(自己做了就知道了)
圖像灰度化算法
Gray = 0.299R+0.587G+0.114*B
r,g,b = [img[:,:,i] for i in range(3)] img_gray = r*0.299+g*0.587+b*0.114
再次顯示圖像
plt.imshow(img_gray) plt.axis('off') plt.show()
問:為什么她綠了?
答:因為我們還是直接使用plt顯示圖像,它默認使用三通道顯示圖像。
解決方案:在plt.imshow()添加參數
plt.imshow(img_gray,cmap="gray") plt.axis('off') plt.show()
看完上述內容,你們對怎么利用Python讀取圖像并將圖像進行灰度化有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。