MATLAB

2011-10-11 13 views
5

में छवि आयामों को कैसे लॉक करें तो मेरे पास MATLAB, 200 गहरे x 600 चौड़े में यह मैट्रिक्स है। यह एक छवि का प्रतिनिधित्व करता है जो 2 सेमी गहरी x 6 सेमी चौड़ा है। मैं इस छवि को कैसे प्लॉट कर सकता हूं ताकि यह उचित आयामों में बंद हो, यानी 2 सेमी x 6 सेमी? अगर मैं छवि या छवियों आदेशों का उपयोग करता हूं तो यह इसे आकार से बाहर खींचता है और इसे गलत आकार दिखाता है। क्या यह एक छवि दिखाने में लॉक करने का कोई तरीका है जहां एक्स और वाई अक्ष आनुपातिक हैं?MATLAB

दूसरा प्रश्न, मुझे इस छवि को 640x480 फ्रेम (बाएं और दाएं 20 पिक्सेल ब्लैक मार्जिन, नीचे 280 पिक्सेल ब्लैक मार्जिन) में सेट करने की आवश्यकता है। क्या इसे करने का कोई तरीका है?

उत्तर

10

पहलू अनुपात रखने के लिए, आप axis equal या axis image आदेशों का उपयोग कर सकते हैं।

प्रलेखन का हवाला देते हुए:

  • axis equal पहलू अनुपात इतना है कि डेटा इकाइयों हर दिशा में एक ही नियत करता है। X, y-, और z-axis का पहलू अनुपात x, y, और z दिशाओं में डेटा इकाइयों की सीमा के अनुसार स्वचालित रूप से समायोजित किया जाता है।

  • axis image सिवाय इसके कि साजिश बॉक्स डेटा`

दूसरे प्रश्न के लिए चारों ओर कसकर फिट बैठता अक्ष बराबर रूप में ही है: अन्य उत्तर के विकल्प के रूप

third_dimension_size=1; %# for b&w images, use 3 for rgb 
framed_image=squeeze(zeros(640,480,third_dimension_size)); 
framed_image(20:20+600-1,140:140+200-1)= my_600_200_image; 

imagesc(framed_image'); axis image; 
2

set(gca,'DataAspectRatio',[1 1 1])

दूसरा सवाल:

new_image = zeros(480,640); 
new_image(20:(200+20-1),20:(600+20-1)) = old_image; 
2

, आप हो सकता है:

set(gca, 'Units', 'centimeters', 'Position', [1 1 6 2]) 

सुनिश्चित करें कि आप साजिश के बाद ऐसा करते हैं अन्य अक्ष गुणों को सही करने के लिए छवि।

दूसरे प्रश्न के लिए, रंग चैनलों की संख्या के साथ ध्यान रखना:

new_image = zeros(480,640, size(old_image)); 
new_image(20:(200+20-1),20:(600+20-1),:) = old_image;