2012-12-06 10 views
6

में फिट बैठता है मेरे पास 2 डी numpy arrays के रूप में तीन फिट छवियां हैं। मैं उन्हें मध्यस्थ बनाना चाहता हूं, यानी एक आउटपुट सरणी उत्पन्न करता है जिसमें प्रत्येक पिक्सेल तीन इनपुट सरणी में एक ही पिक्सेल का औसत होता है। यह इमकोबाइन का उपयोग करके आईआरएफ़ पर आसानी से किया जा सकता है। क्या पाइथन पर पूरे सरणी के माध्यम से लूप किए बिना और प्रत्येक पिक्सेल के औसत को लेने का कोई तरीका है?मध्यस्थ पाइथन

उत्तर

9

यह करने के लिए सबसे आसान तरीका है:

  • ढेर 2 डी सरणियों एक 3 डी सरणी
  • बनाने के लिए कंप्यूट मंझला axis=0 गुजर stacking के आयाम के साथ गणना करने के लिए numpy.median का उपयोग कर।

आप अनिवार्य रूप से एक तत्व-वार औसत की गणना कर रहे हैं। यहां मैं क्या करूँगा इसका एक सरल उदाहरण यहां दिया गया है:

>>> import numpy 
>>> a = numpy.array([[1,2,3],[4,5,6]]) 
>>> b = numpy.array([[3,4,5],[6,7,8]]) 
>>> c = numpy.array([[9,10,11],[12,1,2]]) 
>>> d = numpy.array([a,b,c]) 
>>> d 
array([[[ 1, 2, 3], 
     [ 4, 5, 6]], 

     [[ 3, 4, 5], 
     [ 6, 7, 8]], 

     [[ 9, 10, 11], 
     [12, 1, 2]]]) 
>>> d.shape 
(3, 2, 3) 

>>> numpy.median(d, axis=0) 
array([[ 3., 4., 5.], 
     [ 6., 5., 6.]]) 
+0

यह काम करता है। धन्यवाद! – mcglashan

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