导航:首页 > 编程语言 > 缩放图片的代码

缩放图片的代码

发布时间:2023-12-12 14:29:18

『壹』 数字图像处理 图像缩放以及旋转的算法代码

clearall;
I=imread('lena.bmp');
figure;imshow(I);title('原图像');
[m,n]=size(I);

%%%缩小临近法
M=0.5;%放大倍数

%新的图像大小
m1=m*M;n1=n*M;
%****************************************************
fori=1:m1
forj=1:n1;
J(i,j)=I(round(i/M),round(j/M));
end
end
%*****************************************************
figure;imshow(J);title('缩小图像');

%%%放大双线性插值法
I2=double(I);
N=1.5;%放大倍数
%新的图像大小
m2=m*N;n2=n*N;
J2=zeros(m2,n2);
fori=1:m2
forj=1:n2
x=i/N;
y=j/N;
u=floor(x);
v=floor(y);
a=x-u;
b=y-v;
ifu+2<=m&v+2<=n
J2(i,j)=I2(u+1,v+1)*(1-a)*(1-b)+I2(u+2,v+1)*a*(1-b)+I2(u+1,v+2)*(1-a)*b+I2(u+2,v+2)*a*b;
end
end
end
J2=uint8(J2);
figure;imshow(J2);title('放大图像');

%%%%%旋转
R=45*pi/180;%旋转角度
I=double(I);
%新图像大小
m2=ceil(m*cos(R)+n*sin(R));
n2=ceil(m*sin(R)+n*cos(R));

u0=m*sin(R);%平移量

%变换矩阵
T=[cos(R),sin(R);-sin(R),cos(R)];
L=zeros(m2,n2);
foru=1:n2
forv=1:m2
%新图像坐标变换到原图像坐标x和y中
temp=T*([u;v]-[u0;0]);
x=temp(1);
y=temp(2);
ifx>=1&x<=m&y>=1&y<=n%若变换出的x和y在原图像范围内
x_low=floor(x);
x_up=ceil(x);
y_low=floor(y);
y_up=ceil(y);

%双线性插值,p1到p4是(x,y)周围的四个点
p1=I(x_low,y_low);
p2=I(x_up,y_low);
p3=I(x_low,y_low);
p4=I(x_up,y_up);
s=x-x_low;
t=y-y_low;
L(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;
end
end
end
L=uint8(L);
figure;imshow(L);

『贰』 求一个简单的点击图片放大缩小的JS代码

1、准备好需要用到的图标。

阅读全文

与缩放图片的代码相关的资料

热点内容
928数控车床g71怎么编程 浏览:328
spss中在哪里编程 浏览:988
java设置jpanel大小 浏览:654
文件图片能传淘宝吗 浏览:248
孙的区位代码 浏览:934
存储卡文件夹在哪里 浏览:666
r11手机短信存在哪个文件夹 浏览:549
数据前处理有什么作用 浏览:47
dnf90版本漫游最强装备 浏览:962
华为mt2系统升级 浏览:216
linux粘贴文件命令 浏览:555
苹果手机卸载应用程序 浏览:227
proe50视频教程工程图入门到精通 浏览:324
车载sd卡歌曲文件放哪里 浏览:883
教你如何走到哪里都有网络 浏览:601
青岛bi大数据培训机构有哪些 浏览:224
rpgmv文本在哪个文件 浏览:161
一般的视频缓存在哪个文件夹 浏览:960
javafortry 浏览:588
办公文件软件图片 浏览:814

友情链接