%任务:对一张图像进行缩放,观察其分辨率,降低灰度分辨率两种模式,观察图像变化;
%本文使用matlab2021a软件对图像进行处理
clear;
clc;
close all
%首先获取一个灰度图像并将其展示出来
x=imread('3.jpeg');
x=rgb2gray(x);
figure(1)
imshow(x)
figure(2)
%横向,纵向分别每隔2取原图的一个灰度点,则图像的分辨率由640*360降低为320*180,为原图的1/4
x1 = x(1:2:end,1:2:end);
imshow(x1)
figure(3)
%横向,纵向分别每隔3取原图的一个灰度点,则图像的分辨率由640*360降低为214*120,为原图的1/9
x11=x(1:3:end,1:3:end);
imshow(x11)
figure(4)
%使用线性插值法扩大横向分辨率,图像分辨率从640*360扩展为640*720
myy=zeros(640,721);
myx=1:2:720;
new_x=1:720;
for i=1:2:720
myy(:,i)=x(:,fix((i+1)/2));
end
new_myy=myy;
for j=1:640
for i=2:2:720
new_myy(j,i)=round(((myy(j,i-1)+myy(j,i+1)))/2);
end
end
new_myy=uint8(new_myy);
imshow(new_myy)
%将原图的灰度范围从0-1降低为0.3-0.7
figure(5)
x2=imadjust(x,[0,1],[0.3,0.7]);
imshow(x2)
%将原图的灰度范围从0-1降低为0.5-0.6
figure(6)
x3=imadjust(x,[0,1],[0.5,0.6]);
imshow(x3)