python 實現讀取圖片的像素值。


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第三方圖像處理庫,有空可以進行學習。學習地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM