我希望拍摄162x193像素的图像,基本上将其缩小0.125,即162/8 = 20.25和193/8 = 24.125。因此,我想要一张大小为20x24的图片。我目前唯一的问题是,当我使用imresize
函数时,它会将图像的像素值向上舍入,即得到大小为21x25而不是20x24的图像。任何获得20x24的方式或者这个问题我将不得不忍受?这是一些代码:
//Read in original Image
imageBig = imread(strcat('train/',files(i).name));
//Resize the image
image = imresize(imageBig,0.125);
disp(size(image));
答案 0 :(得分:3)
似乎提供了scale
参数,结果显示imresize
ceils
维度。所以,我猜一个明显的选择是手动为它提供rounded
值作为维度。
<强>代码强>
%%// Scaling ratio
scale1 = 0.125;
%%// Get scaled up/down version
[M,N,~] = size(imageBig);
image = imresize(imageBig,[round(scale1*M) round(scale1*N)]);