实验截图:
图 1 原图与放大过后的图
图 2 原图和缩小过后的图
图 3 原图和放大、缩小的图并列出现
实验代码:
放大、缩小(1):
img = imread('erciyuan.jpg');%原图片
img1 = imresize(img, 1.2);%经过放大的图片
img2 = imresize(img, 0.8);%经过缩小的图片
figure; imshow(img);
figure; imshow(img1);
figure; imshow(img2);
放大、缩小(2):
img = imread('erciyuan.jpg');
img = rgb2gray(img);
[m,n]=size(img);
multiple=1.2;%表示倍数
newm = floor(m*multiple);%得到放大或缩小后图像新的高
newn = floor(n*multiple);%得到放大或缩小后图像新的宽
img_new = zeros(newm,newn);
for i=1:newm
for j=1:newn
img_new(i,j)=img(round(i/multiple),round(j/multiple));
end
end
img_new=uint8(img_new);
imshow(img_new);
title('放大、缩小后的图')
结果分析:
- 我们可以通过matlab自带的函数imresize()来对图片进行放大和缩小的操作,对于这个函数的调用格式如下:
B = imresize(A, m) - 返回的图像B的长宽是图像A的长宽的m倍,即缩放图像。 m大于1, 则放大图像; m小于1, 缩小图像。
- 我们还可以使用邻内插值法的方法来对图像进行放大和缩小,最近邻插值,是将距离目标点最近的像素点的值作为插值的值。