原帖由 wwbeyondww 于 2009-6-26 11:45 发表
可以做,精度不高,修改代码仅供参考,如何改进解析度自己考虑
clc
clear all
close all
[x,y]=meshgrid(-50:49);
M=zeros(100);
M(:,:)=50000; %背景
R=(0:35) ; %直径
I=(0:1000:35000); %要填充的灰度值 ...
谢谢。
后来我又尝试用fill,但是得到的图像上面有一个个圆环,就好象是分界线,请问这个分界线( 轮廓线?)可以去掉吗?
谢谢
clc
clear all, close all
[x,y]=meshgrid(-50:49);
M=zeros(100);
R=(0:35);
I=(0:1000:35000);
N=length(R);
N=length(R);
for i=1:N,
M(abs(sqrt(x.^2+y.^2)-R(i))<10)=I(i);
imagesc(-50:49,-50:49,M),colormap gray,axis('square');
hold on
end
%using fill
figure(2)%就是下面的程序画出的圆出现分界线
for k=N:-1:1
t=0:pi/100:2*pi;
Cir=R(k)*exp(1i*t); %确定圆的大小
fill(real(Cir),imag(Cir),I(k)),colormap gray,axis('square'); %填充该圆面
hold on
end
谢谢
[ 本帖最后由 bop 于 2009-6-29 05:25 编辑 ] |