1.利用opencv讀取。
示例代碼:
cv2中的路徑,不能有中文,否則讀出的image為空。
imagess = cv2.imread(r'C:\Users\Administrator\Desktop\03.jpg',-1) print(imagess.shape) print(imagess) ''' (800, 601, 3) [[[254 196 174] [254 196 174] [254 196 174] ... [252 253 233] [252 253 233] [252 253 233]] [[254 196 174] [254 196 174] [254 196 174] ''' #當第二個參數大於0或者小於0時,輸出(800, 601, 3) #當第二個參數為0是,輸出(800, 601),此時讀出的是灰度圖
2.利用PIL 的Image
from PIL import Image image =Image.open(r'C:\Users\Administrator\Desktop\task\標注\02.jpg').convert('RGB') print(image) print(image.size) images = np.asarray(image)#轉化成數組以后,iamges中存儲的是圖片的像素值。 print(images) ''' <PIL.Image.Image image mode=RGB size=601x800 at 0x254FD0E2588> (601, 800) [[[174 196 254] [174 196 254] [174 196 254] ... [233 253 252] [233 253 252] [233 253 252]] [[174 196 254] [174 196 254] [174 196 254] '''
讀取以后發現 一個問題,顯示的像素值不同。
通過查閱博客,原來cv2.imread()顯示像素時是BGR顯示。
PIL Image顯示是RGB顯示。參考博文(https://blog.csdn.net/enter89/article/details/90262569)
PIL是比較全的python第三方圖像處理庫,有空可以進行學習。學習地址