function to decrease image size

17 次查看(过去 30 天)
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.

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by