1个回答
展开全部
a=imread('源图像文件的路径文件名'); %读取原图像文件
b=double(a); %转为浮点型
m=size(a,1);
n=size(a,1);
out=zeros(size(a)); %为输出图像分配空间
[x,y]=ndgrid((1:m)-m/2,(1:n)-n/2); %制造网格
r=sqrt(x.^2+y.^2); %转为极坐标
th=atan2(y,x); %该极坐标对应于输出图
mx=(th+pi)/2/pi*(m-1)+1; %输出图极坐标点,在原图xy坐标的位置
my=2*r/min(m,n)*(n-1)+1; %输出图极坐标点,在原图xy坐标的位置
out(:,:,1)=interp2(b(:,:,1),mx,my,'bilinear',0); %插值计算输出图R分量
out(:,:,2)=interp2(b(:,:,2),mx,my,'bilinear',0); %插值计算输出图G分量
out(:,:,3)=interp2(b(:,:,3),mx,my,'bilinear',0); %插值计算输出图B分量
out=uint8(out); %转为无符号整形
subplot(121),imshow(a); %画原图
subplot(122),imshow(out); %画输出图
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询