Python實現計算影象RGB均值
阿新 • • 發佈:2018-12-10
要求
存在一個資料夾內有若干張影象,需要計算每張圖片的RGB均值,並計算全部影象的RGB均值。
程式碼
# -*- coding: utf-8 -*- """ Created on Thu Nov 1 10:43:29 2018 @author: Administrator """ import os import cv2 import 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