Python實現計算圖像RGB均值方式
要求
存在一個文件夾內有若干張圖像,需要計算每張圖片的RGB均值,并計算全部圖像的RGB均值。
代碼
# -*- coding: utf-8 -*-'''Created on Thu Nov 1 10:43:29 2018@author: Administrator'''import osimport cv2import numpy as np path = ’C:/Users/Administrator/Desktop/rgb’def compute(path): file_names = os.listdir(path) per_image_Rmean = [] per_image_Gmean = [] per_image_Bmean = [] for file_name in file_names: img = cv2.imread(os.path.join(path, file_name), 1) per_image_Bmean.append(np.mean(img[:,:,0])) per_image_Gmean.append(np.mean(img[:,:,1])) per_image_Rmean.append(np.mean(img[:,:,2])) R_mean = np.mean(per_image_Rmean) G_mean = np.mean(per_image_Gmean) B_mean = np.mean(per_image_Bmean) return R_mean, G_mean, B_mean if __name__ == ’__main__’: R, G, B= compute(path) print(R, G ,B)
這里需要注意cv2.imread()讀取順序為BGR問題。
注意
路徑不能出現中文,不然容易出錯。
錯誤如下:
TypeError: ’NoneType’ object is not subscriptable
結果
補充知識:Image得到圖片像素的RGB
我就廢話不多說了,大家還是直接看代碼吧!
from PIL import Imageimage = Image.open(’./3.png’)print(image)#查看mode是否等于RGB,image_rgb = image.convert('RGB')image_rgb.getcolors()
打印結果
<PIL.PngImagePlugin.PngImageFile image mode=P size=500x332 at 0x7F53383FADA0>[(10990, (192, 0, 128)),#10990表示像素總數,(192, 0, 128)表示RGB值 (7589, (224, 224, 192)), (5706, (192, 128, 128)), (3913, (0, 64, 0)), (137802, (0, 0, 0))]
以上這篇Python實現計算圖像RGB均值方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. CentOS郵件服務器搭建系列—— POP / IMAP 服務器的構建( Dovecot )2. 在JSP中使用formatNumber控制要顯示的小數位數方法3. django創建css文件夾的具體方法4. jsp網頁實現貪吃蛇小游戲5. ASP中if語句、select 、while循環的使用方法6. .NET SkiaSharp 生成二維碼驗證碼及指定區域截取方法實現7. MyBatis JdbcType 與Oracle、MySql數據類型對應關系說明8. ASP中實現字符部位類似.NET里String對象的PadLeft和PadRight函數9. 存儲于xml中需要的HTML轉義代碼10. 利用CSS制作3D動畫
