मेरे पास कोड का एक अनुभाग है जो छवियों के अनुक्रम में हैरिस कोनों को पाता है। मुझे 92 छवियों के लिए ऐसा करने की ज़रूरत है, लेकिन यह धीमी है। इस प्रकार, मैं समानांतर में कोड को चलाने के लिए चाहता हूँ। कोड मैं नीचे है चर "कोनों"MATLAB parfor slicing मुद्दा?
%% Harris corners
max_pts = 900;
corners = zeros(max_pts,2,size(images,3));
parfor i = 1:size(images,3)
I = images(:,:,i);
[y x] = get_corners(I,max_pts);
corners(1:length(y),:,i) = [y x];
end
से संबंधित एक त्रुटि जो कहते हैं:
MATLAB समूहों में पाश पुनरावृत्तियों को विभाजित, और फिर उन्हें MATLAB कार्यकर्ताओं को भेजकर parfor कार्यों में छोरों चलाता है जहां वे समानांतर में भागते हैं। MATLAB को दोहराने योग्य, विश्वसनीय तरीके से करने के लिए, यह लूप में उपयोग किए गए सभी चर वर्गीकृत करने में सक्षम होना चाहिए। कोड संकेतित चर का उपयोग इस तरह से करता है जो वर्गीकरण के साथ असंगत है। सुझाए गए क्रिया संकेतित चर के उपयोग को ठीक करें। चरम वर्गीकरण और पारदर्शी लूप पुनरावृत्तियों पर अन्य प्रतिबंधों के बारे में अधिक जानकारी के लिए, समानांतर कंप्यूटिंग टूलबॉक्स दस्तावेज़ में "चर का वर्गीकरण" देखें।
कोई विचार यह कैसे ठीक करें?
धन्यवाद!
यह सरणी के लिए एन आयाम को यह विस्तार करने के लिए संभव है इमेजिस?मान लें कि आप एमएच आयाम पर टुकड़ा करने के लिए फ़ंक्शन को निर्दिष्ट करते हैं ताकि आपको छवि (:,:, 1,1,1,1,:, 1,1,1) मिल जाए जहां तीसरा कॉलन एमएच स्थिति पर है। – Leo
@ लियो: कोई स्लाइसिंग हमेशा अंतिम आयाम के साथ नहीं रहेगी। हालांकि, 'परमिट' के साथ, आप आवश्यकतानुसार आयामों को स्थानांतरित कर सकते हैं। – Jonas