FDK算法实现起来,相对简单(只需要对扇束重建算法稍微做修改就可以),但是由于一些疏忽出现了一个难以发现的错误,导致我卡在这个地方很久。这个错误就是滤波的方向问题,当时我看书上说对其进行按列进行滤波,但是我进行实现的时候一直出现问题。通过去掉滤波器对其进行重建,效果还可以,表明算法没问题,问题就出在滤波器上面,不断调整滤波器的参数,直到最后尝试性的改变滤波方向,才得以解决这个问题。

然后就是重建图像质量的问题,首先没有进行线性插值,而是使用邻近的探测器单元的投影之进行重建,效果图如下:注意图像大小为256*256!

接下来使用双线性插值进行重建:

对比上面两幅图,我们可以看出来使用双线性插值效果会更好,当然这也是意料之中的事情。

我们知道,对于FDK算法来说,它只是一种近似地重建算法,距离z=0的平面越远,那么重建图像的误差也就越大,这里我们对比z=78平面的切片(重建图像大小为128*128*128):注意第一幅是原始图像,第二幅是重建图像!

经过对比,第二幅图中存在较多的伪像,也就证明了距离z=0平面越远,伪像也就越多的说法。

在三维重建中,速度是比较慢的,但是在二维中我使用了矩阵代替for极大的提高了运算速度,但是在这一部分我依然使用了同样的方法,运算时间却没有得到改善。

FDK算法的实现过程相关推荐

  1. OpenCV中图像旋转(warpAffine)算法的实现过程

    在OpenCV中,目前并没有现成的函数直接用来实现图像旋转,它是用仿射变换函数cv::warpAffine来实现的,此函数目前支持4种插值算法,最近邻.双线性.双三次.兰索斯插值,如果传进去的参数为基 ...

  2. 倒排索引:ES倒排索引底层原理及FST算法的实现过程

    文章目录 引言 1.倒排索引核心原理 2.倒排索引的存储结构 2.1 倒排表(Posting List) 2.2 词项字典(Term Dictionary) 2.3 ​词项索引(Term Index) ...

  3. Bug2算法的实现(RobotBASIC环境中仿真)

    移动机器人智能的一个重要标志就是自主导航,而实现机器人自主导航有个基本要求--避障.之前简单介绍过Bug避障算法,但仅仅了解大致理论而不亲自动手实现一遍很难有深刻的印象,只能说似懂非懂.我不是天才,不 ...

  4. 哈夫曼编码算法的实现(c语言版本数据与结构)

    哈夫曼编码算法的实现 文章目录 哈夫曼编码算法的实现 1.需求分析 二.概要设计 2.1.所用数据结构的定义及其相关说明(相关结构体或类的定义及其含义) 2.2.各子程序(函数和过程)的功能 三.详细 ...

  5. 数据挖掘Java——DBSCAN算法的实现

    一.DBSCAN算法的前置知识 DBSCAN算法:如果一个点q的区域内包含多于MinPts个对象,则创建一个q作为核心对象的簇.然后,反复地寻找从这些核心对象直接密度可达的对象,把一些密度可达簇进行合 ...

  6. 53.垃圾回收算法的实现原理、启动Java垃圾回收、Java垃圾回收过程、垃圾回收中实例的终结、对象什么时候符合垃圾回收的条件、GC Scope 示例程序、GC OutOfMemoryError的示例

    53.垃圾回收算法的实现原理 53.1.目录 53.2.启动Java垃圾回收 53.3.Java垃圾回收过程 53.4.垃圾回收中实例的终结 53.5.对象什么时候符合垃圾回收的条件? 53.5.1. ...

  7. 选择性模糊及其算法的实现。

    选择性模糊及其算法的实现. 我们常见的模糊算法比如均值模糊.高斯模糊等其基本的过程都是计算一个像素周边的的某个领域内,相关像素的某个特征值的累加和及对应的权重,然后得到结果值.比如均值模糊的各像素的权 ...

  8. RSA算法和RSA数字签名算法的实现

    RSA算法和RSA数字签名算法的实现 http://blog.chinaunix.net/uid-21880738-id-1813146.html 顾婷婷 李涛 (四川大学计算机系(西区) 成都 61 ...

  9. 游戏中常用的寻路算法的分享(3):A*算法的实现

    概述 剥除代码,A* 算法非常简单.算法维护两个集合:OPEN 集和 CLOSED 集.OPEN 集包含待检测节点.初始状态,OPEN集仅包含一个元素:开始位置.CLOSED集包含已检测节点.初始状态 ...

最新文章

  1. 庆绿洲创立百天休闲观光游--腐败、情色、绯闻
  2. android 子module混淆_Android 矢量图详解
  3. 无监督和有监督的区别_无监督元学习(Unsupervised Meta-Learning)
  4. 人工智能支撑马赛克战机理研究
  5. 定时器驱动数码管c语言程序,74hc595驱动数码管时间程序
  6. Halcon:立体匹配
  7. java tree 表格_00030-layui+java 树形表格treeTable
  8. “康园圈--互联网+校园平台“项目之Sprint3
  9. python全栈工程师视频_python全栈工程师视频教程
  10. 记录自己装Ubuntu18.04+Win10 1803双系统,采用UEFI启动模式
  11. html 渐变背景色,渐变文字颜色
  12. SpringBoot 接入支付宝 SDK(支付宝支付你会吗?)
  13. Android打字机动画,Android 打字机效果
  14. 动画制作后期那点事——调色
  15. latex normal是几号字_Latex之字体 | 学步园
  16. SDUT最短路径问题 1867————最短路
  17. java 实现电子签名_Java实现数字签名
  18. cos47度怎么用计算机算,cos47度等于多少
  19. Attention原理详解
  20. tableau-表差异的计算

热门文章

  1. mysql2008错误2_解决SQL Server 连接服务器 错误2
  2. pytorch运行过程中死机(内存爆掉或者内存正常)
  3. 第一次罗塞塔学习---收获总结
  4. sql in 和 exits
  5. MATLAB使用TCPIP协议传输矩阵
  6. css文字颜色渐变的3种实现
  7. 关于__declspec(dllimport)的理解
  8. 9.SQL存储过程实例详解
  9. Ubuntu 23.04、22.04、20.04、18.04国内源--阿里云、中科大、163、清华更新源(sources.list)
  10. 新探索研究生英语视听说教程