1-डी मामले वैक्टर, का एक सेट के साथ काम करने के लिए अन्य उत्तरों सही समाधानों को इंगित करते हैं (शून्य वेक्टर के साथ छोटे वेक्टर को पैडिंग करना या लंबे वेक्टर में उपनिवेश का उपयोग करके अतिरिक्त प्रदर्शन करना)। हालांकि, चूंकि आपने एक टिप्पणी में उल्लेख किया है कि आप आखिरकार दो ग्रेस्केल छवियों को एक साथ जोड़ना चाहते हैं, मैंने सोचा कि मैं आपको मैट्रिस के लिए एक सामान्य सामान्य 2-डी समाधान दिखाऊंगा।
पहले, मैं कुछ बिल्ट-इन MATLAB नमूना छवियों और मिल उनके आकार लोड होगी:
image1 = rgb2gray(imread('peppers.png'));
image2 = imread('cameraman.tif');
[r1, c1] = size(image1);
[r2, c2] = size(image2);
सूचना है कि मैं आरजीबी छवि परिवर्तित rgb2gray
का उपयोग कर पहली स्केल के लिए। के बाद से आप के लिए शून्य की मैट्रिक्स चाहते
newImage = zeros(max(r1, r2), max(c1, c2), 'uint8');
सूचना है कि मैं zeros
करने के लिए कॉल में 'uint8'
शामिल,: अगले, मैं शून्य जिसका आकार दो छवियों के आकार की अधिकतम है की एक नई मैट्रिक्स बनाती हूँ अपनी छवियों के समान ही हो, ताकि उनके बाद के ऑपरेशन सही तरीके से काम करेंगे। मैट्रिक्स newImage
अब दो छवियों में से किसी एक को रखने के लिए काफी बड़ा है। अंत में, छवियों तो जैसे नई छवि में जोड़ा जा सकता:
newImage(1:r1, 1:c1) = image1; % Insert image 1
newImage(1:r2, 1:c2) = newImage(1:r2, 1:c2)+image2; % Add image 2
और आप निम्नलिखित के साथ देख सकते हैं:
imagesc(newImage);
colormap(gray);
नोट: एक महत्वपूर्ण बात करने के लिए विचार करें कि आप छवियों के लिए उपयोग करते हैं। आम तौर पर, MATLAB में लोड किया गया छवि डेटा uint8
प्रकार है। हालांकि, आप देख सकते हैं कि ऊपर दी गई दो 8-बिट हस्ताक्षरित पूर्णांक छवियों को जोड़कर संतृप्ति हो सकती है जहां पिक्सल 255 के मान से अधिक हो (8-बिट हस्ताक्षरित पूर्णांक के लिए अधिकतम मान)। नतीजा यह है कि छवि के कुछ हिस्से उज्ज्वल सफेद दिखते हैं और विस्तार खो देते हैं (उपरोक्त छोटी छवि को ओवरलैप करने वाले कुछ मिर्च देखें)। आप उन्हें जोड़ने से पहले अपनी छवियों में मूल्यों को स्केल करके या अपनी छवियों को परिवर्तित करने के लिए double
को ऑपरेशन करने के लिए और फिर छवि को सहेजने से पहले स्केल करके इसे टालना चाह सकते हैं।
कूल। ऐसा इसलिए है क्योंकि मेरे पास 2 मैट्रिक्स हैं, जो वास्तव में ग्रे स्केल चित्र हैं जिन्हें मैं जोड़ना चाहता हूं। तो अब मैं मैट्रिक्स के लिए अपने समाधान को सामान्य बनाना चाहता हूं =) – Louise
-1: कुछ मामलों में यह गणितीय रूप से समझ में आता है। –
हां, उदाहरण के लिए, वैक्टर के रूप में संकेतों का इलाज करते समय (जेड-ट्रांसफॉर्म का मतलब है) –