FDK算法的实现过程
FDK算法实现起来,相对简单(只需要对扇束重建算法稍微做修改就可以),但是由于一些疏忽出现了一个难以发现的错误,导致我卡在这个地方很久。这个错误就是滤波的方向问题,当时我看书上说对其进行按列进行滤波,但是我进行实现的时候一直出现问题。通过去掉滤波器对其进行重建,效果还可以,表明算法没问题,问题就出在滤波器上面,不断调整滤波器的参数,直到最后尝试性的改变滤波方向,才得以解决这个问题。
然后就是重建图像质量的问题,首先没有进行线性插值,而是使用邻近的探测器单元的投影之进行重建,效果图如下:注意图像大小为256*256!
接下来使用双线性插值进行重建:
对比上面两幅图,我们可以看出来使用双线性插值效果会更好,当然这也是意料之中的事情。
我们知道,对于FDK算法来说,它只是一种近似地重建算法,距离z=0的平面越远,那么重建图像的误差也就越大,这里我们对比z=78平面的切片(重建图像大小为128*128*128):注意第一幅是原始图像,第二幅是重建图像!
经过对比,第二幅图中存在较多的伪像,也就证明了距离z=0平面越远,伪像也就越多的说法。
在三维重建中,速度是比较慢的,但是在二维中我使用了矩阵代替for极大的提高了运算速度,但是在这一部分我依然使用了同样的方法,运算时间却没有得到改善。
FDK算法的实现过程相关推荐
- OpenCV中图像旋转(warpAffine)算法的实现过程
在OpenCV中,目前并没有现成的函数直接用来实现图像旋转,它是用仿射变换函数cv::warpAffine来实现的,此函数目前支持4种插值算法,最近邻.双线性.双三次.兰索斯插值,如果传进去的参数为基 ...
- 倒排索引:ES倒排索引底层原理及FST算法的实现过程
文章目录 引言 1.倒排索引核心原理 2.倒排索引的存储结构 2.1 倒排表(Posting List) 2.2 词项字典(Term Dictionary) 2.3 词项索引(Term Index) ...
- Bug2算法的实现(RobotBASIC环境中仿真)
移动机器人智能的一个重要标志就是自主导航,而实现机器人自主导航有个基本要求--避障.之前简单介绍过Bug避障算法,但仅仅了解大致理论而不亲自动手实现一遍很难有深刻的印象,只能说似懂非懂.我不是天才,不 ...
- 哈夫曼编码算法的实现(c语言版本数据与结构)
哈夫曼编码算法的实现 文章目录 哈夫曼编码算法的实现 1.需求分析 二.概要设计 2.1.所用数据结构的定义及其相关说明(相关结构体或类的定义及其含义) 2.2.各子程序(函数和过程)的功能 三.详细 ...
- 数据挖掘Java——DBSCAN算法的实现
一.DBSCAN算法的前置知识 DBSCAN算法:如果一个点q的区域内包含多于MinPts个对象,则创建一个q作为核心对象的簇.然后,反复地寻找从这些核心对象直接密度可达的对象,把一些密度可达簇进行合 ...
- 53.垃圾回收算法的实现原理、启动Java垃圾回收、Java垃圾回收过程、垃圾回收中实例的终结、对象什么时候符合垃圾回收的条件、GC Scope 示例程序、GC OutOfMemoryError的示例
53.垃圾回收算法的实现原理 53.1.目录 53.2.启动Java垃圾回收 53.3.Java垃圾回收过程 53.4.垃圾回收中实例的终结 53.5.对象什么时候符合垃圾回收的条件? 53.5.1. ...
- 选择性模糊及其算法的实现。
选择性模糊及其算法的实现. 我们常见的模糊算法比如均值模糊.高斯模糊等其基本的过程都是计算一个像素周边的的某个领域内,相关像素的某个特征值的累加和及对应的权重,然后得到结果值.比如均值模糊的各像素的权 ...
- RSA算法和RSA数字签名算法的实现
RSA算法和RSA数字签名算法的实现 http://blog.chinaunix.net/uid-21880738-id-1813146.html 顾婷婷 李涛 (四川大学计算机系(西区) 成都 61 ...
- 游戏中常用的寻路算法的分享(3):A*算法的实现
概述 剥除代码,A* 算法非常简单.算法维护两个集合:OPEN 集和 CLOSED 集.OPEN 集包含待检测节点.初始状态,OPEN集仅包含一个元素:开始位置.CLOSED集包含已检测节点.初始状态 ...
最新文章
- 庆绿洲创立百天休闲观光游--腐败、情色、绯闻
- android 子module混淆_Android 矢量图详解
- 无监督和有监督的区别_无监督元学习(Unsupervised Meta-Learning)
- 人工智能支撑马赛克战机理研究
- 定时器驱动数码管c语言程序,74hc595驱动数码管时间程序
- Halcon:立体匹配
- java tree 表格_00030-layui+java 树形表格treeTable
- “康园圈--互联网+校园平台“项目之Sprint3
- python全栈工程师视频_python全栈工程师视频教程
- 记录自己装Ubuntu18.04+Win10 1803双系统,采用UEFI启动模式
- html 渐变背景色,渐变文字颜色
- SpringBoot 接入支付宝 SDK(支付宝支付你会吗?)
- Android打字机动画,Android 打字机效果
- 动画制作后期那点事——调色
- latex normal是几号字_Latex之字体 | 学步园
- SDUT最短路径问题 1867————最短路
- java 实现电子签名_Java实现数字签名
- cos47度怎么用计算机算,cos47度等于多少
- Attention原理详解
- tableau-表差异的计算
热门文章
- mysql2008错误2_解决SQL Server 连接服务器 错误2
- pytorch运行过程中死机(内存爆掉或者内存正常)
- 第一次罗塞塔学习---收获总结
- sql in 和 exits
- MATLAB使用TCPIP协议传输矩阵
- css文字颜色渐变的3种实现
- 关于__declspec(dllimport)的理解
- 9.SQL存储过程实例详解
- Ubuntu 23.04、22.04、20.04、18.04国内源--阿里云、中科大、163、清华更新源(sources.list)
- 新探索研究生英语视听说教程