24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2634  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Mickey__D

木虫 (正式写手)

[求助] 怎么用MATLAB生成一个三维的Shepp-Logan头骨模型并保存下来,谢谢了

主要是用来对该模型进行模拟投影用的。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

耐心和持久胜于激烈的狂热!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

行走的流浪者

新虫 (初入文坛)


xiegangmai(金币+1): 谢谢参与! 2011-12-15 21:25:13
你的新问题,关于三维图形如何旋转。我的方案是:
使用rotate3D函数命令。例:
surf(peaks(20));
rotate3D
在图形窗口的图形区域内按住鼠标左键不放,来调节视角。可以从不同的角度来观察所绘得的图形。

希望对你有用,有问题继续交流。
4楼2011-12-15 20:40:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

行走的流浪者

新虫 (初入文坛)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai(金币+2): 谢谢参与! 2011-12-14 22:27:54
Mickey__D(金币+5): 非常感谢了。 2011-12-15 08:29:14
我奇怪的是你这个问题为什么没有人回答?并不难,哎。希望大家都热心来讨论啊~~~呵呵~~~
shepp-logan大脑图是由图像处理工具箱函数phantom创建的。
首先产生一个256灰度级的大脑图:
p=phantom(256);
imshow(p);
另外投影和重建的程序我也替你编了吧!
randon变换:
theta1=0:0:170,theta2=0:5:175;theta3=0:2:178;

[R1,xp]=radon(P,theta1);
[R2,xp]=radon(P,theta2);
[R3,xp]=radon(P,theta3);
figure,imagesc(theta3,xp,R3);
colormap(hot);colorbar
xlabel(' \theta ' );ylabel(' x\prime ' );

%利用不同部分的randon逆变换来重构图像
I1=iradon(R1,10);I2=iradon(R2,5);I3=iradon(R3,2);
subplot(1,3,1);
imshow(I1);title('用R1重构图像');
subplot(1,3,2);
imshow(I2);title('用R2重构图像');
subplot(1,3,3);
imshow(I3);title('用R3重构图像');

以上程序本人亲自用matlab为你验证过,直接得图像。
如还有不懂的问题,可交流。
2楼2011-12-14 20:49:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

行走的流浪者

新虫 (初入文坛)

★ ★
xiegangmai(金币+2): 谢谢参与! 2011-12-15 21:25:03
theta1=0:0:170确实有问题,应该改为theta1=0:10:170.表示R1采用18个投影。你说的保存为.***文件格式,下拉菜单里确实没有这种格式,这种格式的图片我也没有拿来做过实验。至于生成三维头盖骨模型,呼唤热心人....
   'Shepp-Logan'            A test image used widely by researchers in
                                tomography
       'Modified Shepp-Logan'   (default) A variant of the Shepp-Logan phantom
                                in which the contrast is improved for better  
                                visual perception.

    N is a scalar that specifies the number of rows and columns in P.
    If you omit the argument, N defaults to 256.
  
    P = PHANTOM(E,N) generates a user-defined phantom, where each row
    of the matrix E specifies an ellipse in the image.  E has six columns,
    with each column containing a different parameter for the ellipses:
   
      Column 1:  A    the additive intensity value of the ellipse
      Column 2:  a    the length of the horizontal semi-axis of the ellipse
      Column 3:  b    the length of the vertical semi-axis of the ellipse
      Column 4:  x0   the x-coordinate of the center of the ellipse
      Column 5:  y0   the y-coordinate of the center of the ellipse
      Column 6:  phi  the angle (in degrees) between the horizontal semi-axis
                      of the ellipse and the x-axis of the image        

    For purposes of generating the phantom, the domains for the x- and
    y-axes span [-1,1].  Columns 2 through 5 must be specified in terms
    of this range.

    [P,E] = PHANTOM(...) returns the matrix E used to generate the phantom.

    Class Support
    -------------
    All inputs must be of class double.  All outputs are of class double.

    Remarks
    -------
    For any given pixel in the output image, the pixel's value is equal to the
    sum of the additive intensity values of all ellipses that the pixel is a
    part of.  If a pixel is not part of any ellipse, its value is 0.  

    The additive intensity value A for an ellipse can be positive or negative;
    if it is negative, the ellipse will be darker than the surrounding pixels.
    Note that, depending on the values of A, some pixels may have values outside  the range [0,1].
目前我所知道也就这么多,也在学,学得越多才知道自己会的越少....请问你是医学图像处理的吗?
3楼2011-12-15 13:22:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Mickey__D

木虫 (正式写手)

引用回帖:
: Originally posted by 行走的流浪者 at 2011-12-15 20:40:15:
你的新问题,关于三维图形如何旋转。我的方案是:
使用rotate3D函数命令。例:
surf(peaks(20));
rotate3D
在图形窗口的图形区域内按住鼠标左键不放,来调节视角。可以从不同的角度来观察所绘得的图形。

希 ...

嗯,好的。谢谢。
耐心和持久胜于激烈的狂热!
5楼2011-12-16 08:09:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见