How can i make vector lengths the same?

4 次查看(过去 30 天)
%%read normal image first
im = imread('thing.jpeg');
subplot(311);
imshow(im);
title('Normal Image');
%%read infrared image
im1 = imread('thing_infrared.jpeg');
subplot(312);
imshow(im1);
title('Infrared Image');
%%convert normal inamge to gray scale
b = rgb2gray(im);
b = double(b);
%%covnert infrared image to gray scale
c = rgb2gray(im1);
c = double(c);
%%reading pixels for normal image
b1 = imshow(b);
impixelinfo(b1);
vector = reshape(b, [1600*1200 1]);
%%reading pixels for infrared image
c1 = imshow(c);
impixelinfo(c1);
vector1 = reshape(c, [1280*960 1]);
%%before plotting you need to make the vectors of the same length
%%plot(vector_lower(1:minlen) + vector1_lower(1:minlen), y);
%%maxlen = max(length(vector_lower), length(vector1_lower));
%%plot(vector_lower(1:maxlen) + vector1_lower(1:maxlen));
I have found this maxlen and minlen functions, but they aren t working. Should it be something to do with 255? Like divide somewhere to get 255 pixels?
Thank you

采纳的回答

LO
LO 2020-11-26
To solve a similar issue I use imresize
First get the size of the image (with the function "size"),
then resize image 2 according to the dimensions you got (see code below)
image_size = size(your_image);
resized_image = imresize(your_image, [image_size(1) image_size(2)]);

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by