matlab如何将图片按一边固定尺寸进行等比缩放
1个回答
2016-06-17 · 知道合伙人互联网行家
护肤达人IT宅族
知道合伙人互联网行家
向TA提问 私信TA
知道合伙人互联网行家
采纳数:5637
获赞数:17441
毕业于曲阜师范大学,学士学位。互联网行业2年从业经验,读过SEO相关书籍。现任爱家网SEO优化专员。
向TA提问 私信TA
关注
展开全部
imo=imread('test.png');%读取
s=2;%缩放倍数,缩放后与原始大小的比值
figure(1)
imshow(imo);%原图显示
[m n d]=size(imo);
if s<=1 & s>0
for i=1:d
im(:,:,i)=imo(round(1:1/s:m),round(1:1/s:n),i);
end
elseif s>1
[X Y]=meshgrid(1:n,1:m);
[Xt Yt]=meshgrid(1:1/s:n,1:1/s:m);
for i=1:d
im(:,:,i)=interp2(double(imo(:,:,i)),Xt,Yt,'spline');
end
if isa(imo,'uint8')
im=uint8(im);
else
im=uint16(im);
end
end
figure(2)
imshow(im);%缩放图显示
s=2;%缩放倍数,缩放后与原始大小的比值
figure(1)
imshow(imo);%原图显示
[m n d]=size(imo);
if s<=1 & s>0
for i=1:d
im(:,:,i)=imo(round(1:1/s:m),round(1:1/s:n),i);
end
elseif s>1
[X Y]=meshgrid(1:n,1:m);
[Xt Yt]=meshgrid(1:1/s:n,1:1/s:m);
for i=1:d
im(:,:,i)=interp2(double(imo(:,:,i)),Xt,Yt,'spline');
end
if isa(imo,'uint8')
im=uint8(im);
else
im=uint16(im);
end
end
figure(2)
imshow(im);%缩放图显示
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询