电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

MATLAB的血管三维重建源代码

MATLAB的血管三维重建源代码_第1页
1/8
MATLAB的血管三维重建源代码_第2页
2/8
MATLAB的血管三维重建源代码_第3页
3/8
图片下载 2001 数学建模 A 题附录 1:图像二值矩阵的 0-1 互换的 matlab 程序代码(zhuanhua.m)function b0=zhuanhua(b0) %图像二值矩阵的 0-1 互换for i=1:512 for j=1:512 if b0(i,j)==1 b0(i,j)=0; else b0(i,j)=1; end endend附录 2:求各切片的最大内切圆的半径及圆心坐标 matlab 程序代码(ff.m)function [r, zhongxindian]=ff %输出各切片最大内切圆半径及圆心坐标a=zeros(512,512);b=zeros(512,512);for i=1:512 for j=1:512 a(i,j)=i-257; %横坐标的对应 b(i,j)=j-257; %纵坐标的对应 endend %图像在 xyz 面上的 x 轴、y 轴坐标zhongxindian=zeros(100,2);r=zeros(100,1);for k=0:99 t=strcat('f:/',int2str(i),'.bmp');b=imread(t);b=zhuanhua(b);%将 01 互换blunkuo=edge(b,'sobel');%提取轮廓bgujia=bwmorph(b,'skel',inf);%提取骨架%寻找内切圆[x0,y0,v0]=find(b0lunkuo);[a0,b0,c0]=find(b0gujia);m=length(a0);n=length(x0);juli=zeros(m,n);cunfang=zeros(m,2);for i=1:m for j=1:n p1=a0(i);q1=b0(i); p2=x0(j);q2=y0(j);juli(i,j)=sqrt((a(p1,q1)-a(p2,q2))^2+(b(p1,q1)-b(p2,q2))^2);%骨架上的各个点到轮廓的距离 end [zx,zxxh]=min(juli(i,:));%骨架上一点到轮廓的最短距离即以骨架上各个点为圆心的内切园的半径 cunfang(i,1)=zx; cunfang(i,2)=zxxh;end[zd,zdxh]=max(cunfang(:,1));%寻找半径中最大的半径和其对应的圆心坐标g=a0(zdxh);h=b0(zdxh);zhongxindian(k+1,1)=a(g,h);zhongxindian(k+1,2)=b(g,h);r(k+1)=zd;end附录 3:通过计算不同次数多项式拟合的偏差平方和确定拟和次数的 matlab 程序代码(pczx.m)function j=pczx(z,t) %根据不同次数的多项式拟合与原图数据偏差平方和的大小来确定多项式拟和的次数delta=zeros(10,1);for k=1:10[p,s]=polyfit(z,t,k);delta(k)=s.normrend[i,j]=min(delta);附录 4:根据轮廓画出血管的三维图像的 matlab 程序代码for b=0:99 %提取原图的轮廓,根据轮廓画出血管的三维图像 m1=imread([int2str(b),'.bmp']); m(:,:,b+1)=edge(m1,'sobel');endfor k=0:99 for i=1:512 for j=1:512 if (m(i,j,k+1)==1) plot3(i,j,k+1,'r-.'); hold on end end endendgrid ontitle('血管三维图')rotate3dhold off附录 5:绘制中轴线及在各平面的投影图 matlab 程序代码format longpx=polyfit(z,x,7);%x,...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

MATLAB的血管三维重建源代码

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部