读书人

关于MATLAB程序的有关问题

发布时间: 2012-09-02 21:00:34 作者: rapoo

关于MATLAB程序的问题
clear all;
close all;
in=imread('E:\yanjiushengxuexi\360zhankai\omuni.jpg');
R1=50;%243;%% 内径
R2=229;%757;%% 外径
X0=244;%1151;%%圆心坐标
Y0=233;%845;%%圆心坐标
W=floor(R2-R1);%%宽度
L=floor(2*pi*R2);%%长度
for w=1:W
for l=1:L
a=2*pi*l/L;
Ri=R2-w;
X=X0+Ri*cos(a);
Y=Y0-Ri*sin(a);
X1(w,l)=X;
Y1(w,l)=Y;
end
end
out(:,:,1)=interp2(in(:,:,1),X1,Y1,'cubic');
out(:,:,2)=interp2(in(:,:,2),X1,Y1,'cubic');
out(:,:,3)=interp2(in(:,:,3),X1,Y1,'cubic');
jiaozheng=uint8(out);
figure(1);
imshow(in);
figure(2);
imshow(jiaozheng);
哪位能告诉我,这个程序的中的X,Y是浮点型吗?他所读取的像素是小数吧?



[解决办法]
matlab, 默认 double 精度

但 matlab的 double 有些特点, 比如, 你可以比较double 1.234 == 1.2340, 结果为 true, 而在C语言等,有可能是因为浮点误差...

读书人网 >C++

热点推荐