数字图像处理之雷登变换与图像重建(MATLAB)

article/2025/3/2 3:33:45

1.问题要求

        画出下列图像的雷登变换正弦图,标出坐标和重要特性,假设使用平行射线束几何理论。然后重建图像,比较不同参数的选择对重建图像的影响。

2.实现步骤

(1)雷登变换

srcImage=imread('use_photos/work7_photos/headCT.tif');%读入图像theta1=0:0.5:179.5;
theta2=0:2:178;
theta3=0:10:170;
[R1,x1]=radon(srcImage,theta1);
[R2,x2]=radon(srcImage,theta2);
[R3,x3]=radon(srcImage,theta3);figure,imagesc(theta1,x1,R1);
xlabel('Parallel Rotation Angle - \theta(degree)');
ylabel('Parallel Sensor Position - x\prime(pixels)');
colormap(hot);
colorbar;

        使用radon函数,且分别设置并实现了步伐为0.5、2和10的雷登变换,以结果显示半度增量的雷登变换为例。

(2)图像重建

I1 = iradon(R1,theta1,'none');%defulat:Ram-Lak滤波器
I2 = iradon(R1,theta1,'Hamming');
I3 = iradon(R1,theta1);
I4 = iradon(R2,theta2,'none');%defulat:Ram-Lak滤波器
I5 = iradon(R2,theta2,'Hamming');
I6 = iradon(R2,theta2);
I7 = iradon(R3,theta3,'none');%defulat:Ram-Lak滤波器
I8 = iradon(R3,theta3,'Hamming');
I9 = iradon(R3,theta3);
figure;
subplot(3,3,1);imshow(I1,[]);title('theta1=0:0.5:179.5 无滤波');
subplot(3,3,2);imshow(I2,[]);title('theta1=0:0.5:179.5 Hamming滤波');
subplot(3,3,3);imshow(I3,[]);title('theta1=0:0.5:179.5 Ram-Lak滤波');
subplot(3,3,4);imshow(I4,[]);title('theta2=0:2:178 无滤波');
subplot(3,3,5);imshow(I5,[]);title('theta2=0:2:178 Hamming滤波');
subplot(3,3,6);imshow(I6,[]);title('theta2=0:2:178 Ram-Lak滤波');
subplot(3,3,7);imshow(I7,[]);title('theta3=0:10:170 无滤波');
subplot(3,3,8);imshow(I8,[]);title('theta3=0:10:170 Hamming滤波');
subplot(3,3,9);imshow(I9,[]);title('theta3=0:10:170 Ram-Lak滤波');

        使用iradon函数实现图像复原,滤波器有三种情况:无滤波、Hamming滤波和Ram-Lak滤波,增量也有三种情况:0.5、2和10。通过不同参数的设定,对结果进行比较,最后得出不同参数选择下,图像重建的效果。

3.结果(分别为原图、雷登变换图、重建效果比较图)

        由于图像较多,就不一一放出来了,以下面3张原图及其处理结果为例,展示上述代码处理后得到的结果。

图1:

 图2:

图3:

不同参数对图像重建影响的结论:

基于以上图像测试,在改变增量和滤波的情况下,得出结论如下:

1.增量为0.5,使用滤波为Hamming和Ram-Lak的图像重建效果最好;

2.无滤波情况下,重建图像容易过曝;

3.增量较大时,得到的重建图像容易产生振铃;

4.增量越小,图像重建效果越好。


http://chatgpt.dhexx.cn/article/M2bx01mI.shtml

相关文章

图像超分辨率重建(pytorch)

本文代码 本文代码主体来自CVPR2020论文《Closed-loop matters: Dual regression networks for single image super-resolution》,但原作者并未提供论文亮点--如何使用unpair数据进行训练的代码,所以我在其基础上补齐了该过程的代码。 代码仓库:https://…

第五章 图像复原与重建

第五章 图像复原与重建 文章目录 第五章 图像复原与重建5.1图像复原与增强的概念5.2噪声5.3空间滤波5.4频率域滤波5.5图象复原相关技术5.6由投影重建图像 5.1图像复原与增强的概念 图像增强:是一个主观过程,我们根据自己的需求增强图片的某一部分内容图…

CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)

一、图像重建算法分类 CT图像重建算法主要有3类:1、反投影法;2、迭代重建算法;3、解析法:包括滤波反投影法和傅里叶变换法 二、迭代重建算法分类 迭代重建算法在求解的过程中需要不断地求解矩阵元素,目前系统矩阵的建模方式主要…

图像复原和重建技术

1、常见的图像噪声模型  图像复原是将图像退化的过程加以估计,并补偿退化过程造成的失真,以便获得未经干扰退化的原始图像或原始图像的最优估值,从而改善图像质量的一种方法。  典型的图像复原方法是根据图像退化的先验知识建立一个退化模型,以此模…

数字图像处理——第五章 图像复原与重建

数字图像处理——第五章 图像复原与重建 文章目录 数字图像处理——第五章 图像复原与重建写在前面1 图像退化/复原过程的模型2 噪声模型2.1 高斯噪声2.2 椒盐噪声 3 仅有噪声的复原——空间滤波3.1 均值滤波器3.2 统计排序滤波器3.3 自适应滤波器 4 用频率域滤波消除周期噪声5…

机器人群控避障算法ORCA

最优互补避碰ORCA算法 建议参考资料 ORCA-有关机器人群碰撞避免算法解读(柳朦朦) 导航动态避让算法RVO的优化ORCA(Optimal Reciprocal Collision Avoidance)-漫漫之间n Reciprocal n-body Collision Avoidance英文PDF 避障算法-VO、RVO 以及 ORCA&a…

限流算法的原理

计数器算法 在一定时间内,对处理的请求数进行计数,每次到达时间临界点则计数器清零。在一定时间间隔内,若计数器数字超限,则进行限流。 该算法的问题是,在两端临界点附加可能出现两倍的流速。 滑动窗口算法 基于计…

A*算法图解

A*(A-star)算法是一种静态网路中求解最短路径最有效的直接搜索算法。在电子游戏中最主要的应用是寻找地图上两点间的最佳路线。在机器人领域中,A*算法常用于移动机器人路径规划。 为了便于理解,本文将以正方形网格地图为例进行讲解…

a 算法原理 java_最短路径A*算法原理及java代码实现(看不懂是我的失败)

算法只要懂原理了,代码都是小问题,先看下面理论,尤其是红色标注的(要源码请留下邮箱,有测试用例,直接运行即可)A*算法百度上的解释:A*[1](A-Star)算法是 算法只要懂原理了,代码都是小问题&#…

A*算法原理简析

引言 。 A算法是一种启发式的搜索算法,它是基于深度优先算法和广度优先算法的一种融合算法,按照一定规则确定如何选取下一个节点。在介绍A算法之前,需要了解一下什么是启发式搜索算法,深度优先算法以及广度优先算法。 启发式搜…

A*算法原理

A* 算法 概述 虽然掌握了 A* 算法的人认为它容易,但是对于初学者来说, A* 算法还是很复杂的。 搜索区域(The Search Area) 我们假设某人要从 A 点移动到 B 点,但是这两点之间被一堵墙隔开。如图 1 ,绿色是 A ,红色是 B…

A Star算法原理及其实现

A -Star算法 A*(A-Star)算法是一种求解最短路径最有效的直接搜索方法,也是许多其他问题的常用启发式算法。 一、简介 二、寻路方式 三、运行机制 四、常用估价算法 五、示例 一、简介 A*(A-Star)算法是一种求解最短路径最有…

sift算法原理,按步骤记录

sitf算法是一种描述图像特征的,重要的,基础的方法。主要由以下几个步骤构成: 0.尺度空间理论 尺度空间理论认为,人眼在认知画面时,在不同的尺度上使用的是不同特征,例如观察树叶时使用的是小尺度特征&…

DQN算法流程及原理

相关名词解释: Agent:智能体;s—state:状态(放在格子游戏中,就是智能体的位置坐标(x,y))a—action:智能体采取的动作(例如上下左右)r—reward:奖励&#xff…

D*算法原理与程序详解(Python)

提示:前文写了D搜索算法,是一种贪心算法。 文章目录 一、D*算法是什么?二、原理以及代码步骤1.原理分析2.代码解释 总结 一、D*算法是什么? D*算法也是用于机器人路径规划问题的启发式方法,它是一种局部规划方法&…

unityA星寻路算法基础原理

作者: 风不停息丶 文章目录 🧑‍💻A星寻路简介👉代码基础架构👍代码实现格子类寻路管理类效果 结尾总结 🧑‍💻A星寻路简介 A*寻路就是用来计算玩家行进路径的,通过它可以计算出避开…

【YOLO系列】YOLO.v1算法原理详解

YOLO(You Only Look Once)系列算法原理 前言 :详细介绍了yolo系列目标检测算法的原理和发展过程。 系列: 【YOLO系列】YOLO.v1算法原理详解 【YOLO系列】YOLO.v2算法原理详解 【YOLO系列】YOLO.v3算法原理详解 【YOLO系列】YOLO.v4 & YOLO.v5算法原…

A*算法原理与实现

前言 A*算法最初发表于1968年,由Stanford研究院的Peter Hart, Nils Nilsson以及Bertram Raphael发表。它可以被认为是Dijkstra算法的扩展。 由于借助启发函数的引导,A*算法通常拥有更好的性能。 一、 A*吸取了Dijkstra 算法中的cost_so_far,为…

激光SLAM之NDT算法(1)算法原理

/在激光SLAM之NDT算法(2)-建图中我会给出实测可用的建图代码,并予以解释代码结构,这里就先讲讲原理吧!!!/ 无人车激光SLAM系统简单可以分为建图和定位两部分,无人车的定位问题,实际上就是要找出无人车当前在地图的那个位置&#x…

A*算法的原理及应用

A*算法的原理 A* 算法是一种高效的启发式搜索算法,在二维的栅格地图上寻路效果好,它通过估算节点的代价评估函数值并作为节点的综合优先级,当选择下一个需要遍历的节点时,再选取综合优先级最高的节点,逐步地找到最优路…