मैं दो 256x256 छवियों को संयोजित करने और उन्हें imwrite का उपयोग करके सहेजने का प्रयास कर रहा हूं। सहेजी गई छवि को 256x512 माना जाता है, लेकिन जब मैं सहेजी गई छवि को लोड करता हूं, तो आकार 343x434x3 दिखाता है। मैं इसे कैसे हल करूं?
मैं जिस कोड का उपयोग कर रहा हूं वह है:
new_name3 = strcat(f_name_image, '\', kk, '_', num2str(ff), '_pair.png');
pair = [orig_im noisy_image]; %concatenating two 256x256 images
imagesc(pair)
f = getframe(gca);
im = frame2im(f);
imwrite(im, new_name3);
1 उत्तर
अतिरिक्त विकल्पों को कॉन्फ़िगर किए बिना छवि को फ्रेम से सहेजना हानिपूर्ण हो सकता है। पिक्सेल जानकारी को बनाए रखने के लिए संयोजित छवि को सीधे pair
(यहां Image_Pair
) सरणी से सहेजें। साथ ही, 343x434x3 में तीसरा आयाम छवि के RGB रंग चैनलों का प्रतिनिधित्व करता है।
%Grabbing the two images%
Image_1 = imread('Image_1.jpeg');
Image_2 = imread('Image_2.jpeg');
%The file name for the concantenated images%
New_File_Name = "Image_3.jpeg";
%Concatenating the images%
Image_Pair = [Image_1 Image_2];
%Displaying the image pair%
imshow(Image_Pair);
%Saving the image to the "New_File_Name"%
imwrite(Image_Pair, New_File_Name);
%Loading the saved image to see if dimensions are consistent%
Saved_Image = imread('Image_3.jpeg');
संबंधित सवाल
नए सवाल
matlab
MATLAB मैथवर्क्स द्वारा विकसित संख्यात्मक अभिकलन और विज़ुअलाइज़ेशन के लिए एक उच्च-स्तरीय भाषा और इंटरैक्टिव प्रोग्रामिंग वातावरण है। जब तक यह प्रश्न स्पष्ट रूप से दोनों के बीच समानता या अंतर के बारे में नहीं है, तब तक [matlab] और [octave] दोनों टैग का उपयोग न करें। इस टैग का उपयोग करते समय, कृपया MATLAB रिलीज़ का उल्लेख करें जिसके साथ आप काम कर रहे हैं (जैसे R2017a)।
imagesc()
करता है:img = img-min(img(:)); img = double(img)*255/max(img(:)); img = uint8(img);