मैं एक परियोजना पर काम कर रहा हूं जिसमें एक छवि का अंतर प्राप्त करने की आवश्यकता है। वर्तमान में मैं 2 दृष्टिकोण ले रहा हूँ (दोनों काम लेकिन बहुत धीमी गति से कर रहे हैं):एक छवि पायथन कुशलता से भिन्नता की गणना
- व्यक्तिगत रूप से प्रत्येक पिक्सेल के लिए विचरण की गणना:
यह numpy का उपयोग कर कोड है, varianceMatrix उत्पादन
हैvarianceMatrix = np.zeros(im.shape,np.uint8)
w = 1 # the radius of pixels neighbors
ny = len(im)
nx = len(im[0])
for i in range(w,nx-w):
for j in range(w,ny-w):
sampleframe = im[j-w:j+w, i-w:i+w]
variance = np.var(sampleframe)
varianceMatrix[j][i] = int(variance)
return varianceMatrix
- एक मौजूदा scipy समारोह का उपयोग करना:
यह scipy समारोह है:
from scipy import ndimage
varianceMatrix = ndimage.generic_filter(im, np.var, size = 3)
scipy समारोह तेजी से होता है, लेकिन इतना नहीं। मैं भिन्नता की गणना करने के लिए एक बेहतर विकल्प की तलाश में हूं।
कोई विचार ???
यहां मेरी मशीन पर आउटपुट की आखिरी पंक्ति, गति दिखा रहा है: 'अवधि: स्लाइडिंग: 0.00510311126709 एस, लूपिंग: 0.955919027328 एस'। –