2016-11-20 9 views
5

मेरे पास एक आरजीबी छवि है जिसे एक numpy सरणी में परिवर्तित कर दिया गया है। मैं numpy या scipy कार्यों का उपयोग कर छवि के औसत आरजीबी मूल्य की गणना करने की कोशिश कर रहा हूँ।numpy सरणी में छवि के औसत रंग की गणना कैसे करें?

आरजीबी मूल्यों 0.0 से एक चल बिन्दु के रूप में प्रतिनिधित्व कर रहे हैं - 1.0, जहां 1,0 = 255.

एक नमूना 2x2 पिक्सेल image_array:

[[[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]], 
[[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]]] 

मैं कोशिश की है:

import numpy 
numpy.mean(image_array, axis=0)` 

लेकिन वह आउटपुट:

[[0.5 0.5 0.5] 
[0.5 0.5 0.5]] 

क्या मैं चाहता हूँ बस एक आरजीबी औसत मान होता है:

[0.5 0.5 0.5] 

उत्तर

11

आप केवल एक धुरी के साथ मतलब ले जा रहे हैं, जबकि आप दो कुल्हाड़ियों साथ मतलब लेने की जरूरत: ऊंचाई और छवि की चौड़ाई ।

इस प्रयास करें:

>>> image_array  
array([[[ 0., 0., 0.], 
     [ 0., 0., 0.]], 

     [[ 1., 1., 1.], 
     [ 1., 1., 1.]]]) 
>>> np.mean(image_array, axis=(0, 1)) 
array([ 0.5, 0.5, 0.5]) 

docs के रूप में आपको बता देंगे, आप कुल्हाड़ियों जिस पर आप मतलब लिया जाना चाहते हैं निर्दिष्ट करते समय, axis पैरामीटर के लिए एक टपल निर्दिष्ट कर सकते हैं।

+1

यह बात है! मुझे एहसास नहीं हुआ कि आप एक से अधिक धुरी निर्दिष्ट कर सकते हैं। – dranobob

संबंधित मुद्दे