में स्क्वायर मतभेदों (एसएसडी) का योग एक छवि प्रसंस्करण एल्गोरिदम लागू करने के लिए मैं पाइथन और न्यूम्पी/सिसी का उपयोग करने की कोशिश कर रहा हूं। प्रोफाइलर मुझसे कहता है बहुत समय निम्नलिखित समारोह (अक्सर कहा जाता है) में खर्च किया जा रहा है, जो मुझे दो छवियोंnumpy/scipy
def ssd(A,B):
s = 0
for i in range(3):
s += sum(pow(A[:,:,i] - B[:,:,i],2))
return s
मैं इस में तेजी लाने के कर सकते हैं कैसे के बीच वर्ग मतभेद का योग कहता है? धन्यवाद।
बैंग में इस लक्ष्य को हासिल कर सकते हैं। मुझे धीमा दिन हो रहा है मेरे चलने का समय हल करता है। –
यह ध्यान देने योग्य है कि इसके लिए आपको 'numpy.sum' का उपयोग करना होगा, न कि बिल्टिन' sum', जो पहले आयाम पर योग पाएगा और एक आयाम-निचले स्तर की एक नई सरणी लौटाएगा। –
((ए-बी) ** 2) .sum (-1) यदि आप केवल अंतिम धुरी को जोड़ना चाहते हैं, तो धुरी तर्क को निर्दिष्ट करने की आवश्यकता है। बस राशि का उपयोग करके() सरणी की सभी प्रविष्टियों को जोड़ता है (पहले raveled) – user333700