声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1332|回复: 3

[图像处理] 请教基于轮廓线的三维重建中遇到的问题

[复制链接]
发表于 2008-4-22 19:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
鄙人的毕业设计题目,但本人本科阶段没学过matlab,前一阵子又忙着找工作,看了些日子,很困难。早先论坛里有人推荐看 基于ct断层图像的三维重建,略略有些思路,同时碰到一些问题。
1 经过增强滤波等,终于得出边界轮廓,但并不是用文中所说:行扫描,记录八个点等等,而是用edge函数实现的。且了轮廓中有一小圈除之不去,不知是否影响后续处理。
2文中言道:将图2b中的面部边缘轮廓曲线以中心点为极点转换到极坐标系中。我用如下函数实现:

  1. [x, y]=find(I);
  2. [th, r]=cart2pol(x, y);
复制代码

这是我自己胡乱瞎凑的,不知对不对,不对,应该如何做?“中心点为极点”靠什么实现?
3文中“采用12阶傅立叶级数对该图像进行拟合”。这个完全不能明白。如何用12阶傅立叶级数对图像拟合?论坛里曾有人提出用fft,但我搜到的fft都是做傅立叶变换,且没能给出傅立叶级数的系数ai,bi。而后边似乎还要用到这25个傅立叶级数系数。
鄙人入门深浅,所问问题难免幼稚,还望各位方家勿笑。
另,鄙人刚刚注册,于论坛无所贡献,腆颜相求,心实不安。特将搜到一三维体重建程序及我所得图像奉上,这个程序比文中提到的三维体绘制要好一些,但速度较慢,对内存要求较高。望对某些同志有所助益。
for i=2:25
n=strcat(num2str(i-1),'.bmp');
[x,m]=imread(n);
D(:,:,i)=x;
end
[x y z D]=reducevolume(D,[3 3 1]);
D=smooth3(D,'gaussian');
fv=isosurface(x,y,z,D,'noshare');
p1=patch(fv,'FaceColor','green','EdgeColor','none');
isonormals(x,y,z,D,p1);
fvc=isocaps(x,y,z,D,'noshare');
p=patch(fvc,'FaceColor','green','EdgeColor','none');
view(3); axis tight; daspect([1,1,0.4])
colormap(gray(100))
camlight left; camlight; lighting gouraud

[ 本帖最后由 eight 于 2008-4-22 19:35 编辑 ]

只能200k,所以截小了,这是对100幅断层图像处理得到的,我的电脑顶多处理这个数,呵呵

只能200k,所以截小了,这是对100幅断层图像处理得到的,我的电脑顶多处理这个数,呵呵
回复
分享到:

使用道具 举报

发表于 2008-4-22 20:23 | 显示全部楼层

回复 楼主 的帖子

第2个从数学上面来说的话,是一个简单的坐标变换,找到点的x,y值,就可以知道它到原点的长度以及方向。
中心点为极点,不知道这个中心点是图像的中心点,还是坐标的原点?
如果这2个重合那也无所谓
不重合的话,你所用的是原点为极点
图像中心点为极点的话,可以参考cart2pol编一个。

其他问题不是相关专业,不懂

评分

1

查看全部评分

 楼主| 发表于 2008-4-23 06:53 | 显示全部楼层

回复 2楼 的帖子

谢谢 请问如果不重合,应该怎样用语句实现?

有没有达人解决一下第三个问题啊?抓狂中……
 楼主| 发表于 2008-4-23 12:06 | 显示全部楼层
关于第三个问题,今天抓狂的时候忽然发现打开curve fitting tool 的时候在拟合类型里发现了傅立叶,但是最高只有八阶的,而且拟合后的系数ai,bi好像不能直接用。有什么办法吗?
而且要处理百多幅图片,不可能每个都手动拟合,而这种操作还向没法用循环语句实现吧?

问得有些乱,请高手尽量解答。大谢。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 11:20 , Processed in 0.064293 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表