function to decrease image size

조회 수: 5 (최근 30일)
Altina Rexha
Altina Rexha 2020년 9월 28일
댓글: Altina Rexha 2020년 9월 28일
function [y] = ImageDecrease(i,n)
y=imresize(i,n);
size(y)
end
I need to create a function to decrease the image size. Ex. image size is 512px x 512px and if n=4 the size of image has to be 64x64 (the i parameter is the image)
This function doesnt work bc if scale is >1 it increases the image..

채택된 답변

Image Analyst
Image Analyst 2020년 9월 28일
I know it sounds obvious, so you've probably already done it by now, but did you try inverting the number:
function outputImage = ImageDecrease(inputImage, n)
[rows, columns, numberOfColorChannels] = size(inputImage);
fprintf('Input image has %d rows, %d columns, and %d color channels',rows, columns, numberOfColorChannels)
outputImage = imresize(inputImage, 1/n);
[rows, columns, numberOfColorChannels] = size(outputImage);
fprintf('Output image has %d rows, %d columns, and %d color channels',rows, columns, numberOfColorChannels)
end
  댓글 수: 3
Image Analyst
Image Analyst 2020년 9월 28일
It DOES work. And using imresize is not a bad idea.
rgbImage = imread('Peppers.png');
subplot(2, 1, 1);
imshow(rgbImage);
axis('on', 'image');
outputImage = ImageDecrease(rgbImage, 4);
subplot(2, 1, 2);
imshow(outputImage);
axis('on', 'image');
function outputImage = ImageDecrease(inputImage, n)
[rows, columns, numberOfColorChannels] = size(inputImage);
fprintf('Input image has %d rows, %d columns, and %d color channels',rows, columns, numberOfColorChannels)
outputImage = imresize(inputImage, 1/n);
[rows, columns, numberOfColorChannels] = size(outputImage);
fprintf('Output image has %d rows, %d columns, and %d color channels',rows, columns, numberOfColorChannels)
end
Note on the axes how the number of colums goes from 512 to 128, indicating a reduction by a factor of 4.
You can also pass in the exact number of rows and columns you want, if you prefer that way.
outputImage = imresize(inputImage, [123, 456]); % Make 123 rows by 456 columns.
Altina Rexha
Altina Rexha 2020년 9월 28일
THank you it helped!!!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Images에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by