lovekem 发表于 2009-5-20 16:02

求助关于将二维图画进三维坐标系

我有一组图片,是用核磁共振成像仪对花生的剖面图,去噪后,我用sobel算子提取了这组图像的边缘,是20个椭圆形,
然后我要将这组圆画如三维坐标系中,该如何编写程序啊,请高手帮忙...
我截取的花生图像是XZ平面的,Y轴上每隔1mm截取一张剖面图,要画进三维坐标系的时候也是这样,只要y轴上每隔1mm载入一个圆就可以。。。。

friendchj 发表于 2009-5-21 13:00

是这样吗
clc
clear
t=0:0.1:2*pi;
x=cos(t);
z=sin(t);
y=ones(1,length(x));
for i=1:5
    plot3(x,y+i,z)
    hold on
end
view([-76,28])

lovekem 发表于 2009-5-21 17:30

我的那些圆是需要载入的啊,就是我提取的那些边缘数据。。怎么做?

friendchj 发表于 2009-5-21 17:34

回复 板凳 lovekem 的帖子

把数据载入后画不就行了吗?
不太明白你的意思?

lovekem 发表于 2009-5-21 17:43

:hug: 就是比如两个圆圈图,怎么载进三维坐标系去。。举个例子?
比如D1 ,D2两个数组是两个圆的数据,载进去怎么弄来着

还是说要先提取坐标?怎么弄。。。:'(

[ 本帖最后由 ChaChing 于 2009-5-21 20:52 编辑 ]

friendchj 发表于 2009-5-21 18:18

回复 6楼 lovekem 的帖子

假设=size(D1),令x=D1(:,1);y=D1(:,2),z=ones(1,length(x));

lovekem 发表于 2009-5-21 18:27

回复 7楼 friendchj 的帖子

假设)=size(D1)。。不懂
我现在做到imshow(D1),    得出一张边缘的图像;
假设)=size(D1)。。这个我还是不懂什么意思:@Q
新手。。。

把两张图像画进三维坐标,高手你能不能给个比较完整点的。。谢谢啊。
从 imshow(D1),imshow(D2)以后开始,
:loveliness:

[ 本帖最后由 ChaChing 于 2009-5-21 20:56 编辑 ]

friendchj 发表于 2009-5-21 18:43

回复 10楼 lovekem 的帖子

能否贴出你的数据和程序

xiezhh 发表于 2009-5-21 20:50

我觉得你应该是想要根据扫描得到的平面图像生成花生的三维图,可以采用等值面法,自己看看函数isosurface

lovekem 发表于 2009-5-21 21:48

PS1=imread('C:\Users\xiaochun\Desktop\asdf.bmp');%读取图像imshow(PS1)
>> imshow(PS1)
>> PS1=rgb2gray(PS1); %将灰度化得数据存入数组
=size(PS1); %用Sobel微分算子进行边缘检测
PS = edge(PS,'sobel');
imshow(PS);


这是其中一张图片的边缘提取,因为在去噪部分用一个小软件去噪了,所以不用写去噪程序,假设下一张是PS2
,怎么把这两张画进坐标系? 截取的是XZ平面,Y轴上每张相距1mm。。。

friendchj 发表于 2009-5-22 14:23

不知道是不是这个意思:
clc
clear
x=ones(64);
x(20:40,20:40)=0;
=size(x);
=meshgrid(1:m);
% imshow(ps,[])
surfc(x1,ones(size(x1)),z1,x)
hold on
x=ones(64);
x(,)=0;
surfc(x1,ones(size(x1))+3,z1,x)
shading interp
colorbar
axis square
%%%%%%%%%%%%%%
PS:1.画出来还需要在figure窗口调一下colorbar;
         2.图像太大,可能看不清楚
         3.应该有更好的方法,奈何想不出来!

[ 本帖最后由 friendchj 于 2009-5-22 17:40 编辑 ]

lovekem 发表于 2009-5-22 16:39

:@Q 就是要怎么把图像的数据比如坐标啦提取出来然后载进坐标系,这个不懂。。
页: [1]
查看完整版本: 求助关于将二维图画进三维坐标系