求图像重建反投影、滤波反投影matlab仿真程序

求图像重建反投影、滤波反投影matlab仿真程序,第1张

%用phantom函数可以获得仿体图像

%用randon可获得不同角度的一维投影;

clear all

P = phantom('Modified Shepp-Logan',256)

R=radon(P)

figureimshow(R,[])

figure

imshow(P,[])title('仿体图')

%直接反投影法

l = pow2(nextpow2(size(R,1))-1)%重构图像的大小

P_1 = zeros(l,l)%用于存放重构后的图像

for i=1 : size(R,2)

    tmp = imrotate( repmat(R(:,i),1,size(R,1)),i-1,'bilinear' )

    tmp = tmp(floor(size(tmp,1)/2-l/2)+1:floor(size(tmp,1)/2+l/2),floor(size(tmp,2)/2-l/2)+1:floor(size(tmp,2)/2+l/2))

    P_1=P_1+tmp

end

P_1=P_1/size(R,2)

P_1=rot90(P_1)

figureimshow(P_1,[])title('直接反投影法')

%滤波反投影法

N=180

%滤波

H=size(R,1)

h=zeros((H*2-1),1)

for i=0:H-1

    if i==0

        h(H-i)=1/4

    elseif rem(i,2)==0

        h(H-i)=0

  姿御      h(H+i)=0

    else

        h(H-i)=-1/(i*pi)^2

        h(H+i)=-1/(i*pi)^2

  迹昌岩  end

end

x=zeros(H,N)

for i=1:N

    s=R(:,i)

    xx=conv(s',h')

    x(:,i)=xx(H:2*H-1)

end

%反投影

P_3=zeros(l,l)

for i=1:l

    for j=1:l

        for k=1:180

            theta=k/180*pi

            t=(j-l/2-0.5)*cos(theta)+(l/2+0.5-i)*sin(theta)+(H+1)/2

            t1=floor(t)

            t2=floor(t+1) 

            P_3(i,j)=P_3(i,j)+(t2-t)*x(t1,k)+(t-t1)*x(t2,k)

        end

    end

end

P_3=pi/N*P_3

figureimshow(P_3,[])title('滤波反投迅扮影法')

1、首先打开matlab软件,点击Simulink按钮打开Simulink仿真环境(需要一点时间),

2、打开Simulink后,进入主界面,

3、点击Simulink界面中的File/New/Model,建立并保存模型文件,

4、在Simulink的左侧资源栏拖拽控件到model文件内并设置连线,

5、检查系统框图无误后点击运行按钮(如下图箭头所指),大概几秒后仿真结束,

6、双击图中的示波器就可以查看系统猜源仿真输出。

扩展资料:

1,MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

2,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

3,MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用穗蔽态于工程计算、控制设计、信号处理与通讯、图并橡像处理、信号检测、金融建模设计与分析等领域。

参考资料来源:百度百科-MATLAB

1、首先打开matlab软件,点击Simulink按钮打开Simulink仿真环境(需要一点时间),如下图所示:

2、打开Simulink后陪宽,主界面如下所示:

3、点击Simulink界面中的File/New/Model,如下图所蚂空示建立并保存模型文件:

4、在Simulink的左侧资源栏拖拽控件到model文件内并设置连线,完成后如下图所示:

5、检查系统框图无误后点击运行按钮(如下图箭头所指),大概几秒后仿真结束:

6、双击图中的示波器就可以查看系统仿真输出,如下图所示:

扩展资料:

Trading Toolbox™: 一款用于访问价格并将订单发送到交易系统的新产品

Financial Instruments Toolbox™: 赫尔-怀特、线性高斯和 LIBOR 市场模型的校准和 Monte Carlo 仿真

Image Processing Toolbox™: 使用有效轮廓进行图像分割、对 10 个函数实现 C 代码生成,对 11 个函数使用 GPU 加速

Image Acquisition Toolbox™: 提供了用于采集图像、深度图和框架数据的 Kinect® for Windows®传感器支持

Statistics Toolbox™: 用于二进制分类的支持向量机 (SVM)、用于缺失数据的 PCA 算法和 Anderson-Darling 拟合优度检验

Data Acquisition Toolbox™: 为 Digilent Analog Discovery Design Kit 提供了支持包

Vehicle Network Toolbox™: 为访问闷乱瞎 CAN 总线上的 ECU 提供 XCP

MATLAB由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强, *** 作更简单。

而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12541495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存