网站首页 > 技术教程 正文
在医学图像处理中,往往通过对某切面作多个X射线投影,来获得切面的结构图形,这就是所谓的图像重建。图像重建有好多种方法,但实际上,当人们在处理二维或三维投影数据时,真正有效的重要算法都是以Radon变换或Radon逆变换作为数学基础的。
在图像变换中,Radon变换的实质就是计算图像矩阵在某个方向上的投影。例如图像矩阵如果是二维的,在某个方向上的投影,就是在其垂直方向上的线积分。如下图:
Radon变换的几何示意图——投影
事实上,Radon变换最常用的是其逆变换。因为一个物体的投影可以通过光线照射得到,如果我们能得到该物体不同方向上的投影,就可以对这些投影图像进行Radon逆变换,来重建其二维结构或三维结构。
在MATLAB中,有专门的radon()函数和iradon()函数来实现Radon变换的算法,这也是图像重建过程中必不可少的算法。
(1)在MATLAB图像处理工具箱中提供了radon()函数用于计算指定方向上图像的投影,该函数的调用格式如下:
R = radon(I, theta):计算图像I在矢量theta指定方向上的radon变换;
[R,xp] = radon(...):R的各行返回theta中各方向上的radon变换,xp表示theta方向对应的坐标值。图像I的中心,即floor((size(I)+1)/2),为新坐标轴的中心。
(2)在MATLAB图像处理工具箱中提供了iradon()函数用于实现Radon逆变换,完成图像重建,该函数的调用格式如下:
I = iradon(R, theta):R是投影矩阵;theta可以是一个包含所有扫描角度的向量,且每两个相邻角度等间隔;使用的投影越多,所获得的图像越接近原图像,失真越小;
I = iradon(P, theta, interp, filter, frequency_scaling, output_size):interp是插值函数;filter是滤波函数,通过加窗消去投影过程中产生的高频噪声;frequency_scaling是一个标量值,取值范围[0,1],通过缩放滤波函数的频率修改滤波函数;output_size是一个标量,用来规定重建图像的行数和列数;
[I,H] = iradon(...):H的返回值为滤波器的频率响应。
interp是插值函数,有以下几种差值方式可以选择:
filter是滤波函数,有以下几种滤波器可以选择:
‘Ram-Lak’:频带有限的斜坡函数滤波器,是MATLAB默认的滤波器,对投影中的噪声敏感(R-L滤波函数和S-L滤波函数);
‘Shepp-Logan’:sinc函数*R-L函数。
‘Cosine’:cosine函数*R-L函数 。
‘Hamming’:Hamming函数*R-L函数 。
‘Hann’:hann函数*R-L函数 。
‘None’:没有滤波。
下面通过具体实例来说明Radon变换的含义和操作方法:
代码:
Demo1
Demo2
显示效果:
Demon1.投影——即线积分
Demo1.上述黑白图像的Rando变换
Demo1
可以看出,图像的生成是以(theta,xp)构建一个平面坐标,然后R矩阵中的数据作为该平面各对应点的高度,这样就构成一个三维矩阵,从而显示为上述的Radon变换图像。
Demo2_figure1
Demo2_figure2
Demo2_figure3
可以看到,在角度是0度、30多度、90多度和140多度的位置,有明显的亮点,说明该角度的投影——即垂直于该角度的线积分,值比较大。所以,可以猜测投影方向上存在直线段。例如在90度时,其投影方向为水平方向,有大量的白点,说明原图像中存在大量水平的直线段。我们从原图像可以看到,确实存在较多的水平直线段,其重建图像也表明了这一点。
简单来说,就是Radon变换和我上一篇文章提到的Hough一样,都可以作为检测图像中直线段的方法。
Demo2_figure4
Demo2_figure5
Demo2_figure6
从上面可以看出,确实是投影图像越多,其重建图像失真越小。当投影角度间隔为1度或2度时,重建图像失真较小;而当影角度间隔为5度或10度时,重建图像失真较大,图像信息丢失严重。
猜你喜欢
- 2024-11-06 基于MATLAB的刀具角度测量 matlab测工件尺寸
- 2024-11-06 「三十一」MATLAB图像变换之傅里叶变换
- 2024-11-06 「MATLAB数据导入与分析」MATLAB: 使用内存映射加快文件读写
- 2024-11-06 利用边缘检测计算物体面积(内含源码)
- 2024-11-06 自动驾驶毫米波雷达物体检测技术-算法
- 2024-11-06 基于粒子滤波器的电池剩余使用寿命计算matlab仿真
- 2024-11-06 「二十」MATLAB图像处理之六 matlab怎么做图像处理
- 2024-11-06 matlab程序, 脉冲波合成与提取,滑冲效应、方向性效应
- 2024-11-06 《基于PLE结合卡尔曼滤波的RSSI定位算法matlab仿真》基于PLE
- 2024-11-06 正交相干检波 正交相位检波器原理
你 发表评论:
欢迎- 05-1613步震撼淘宝大促闪光裂纹破墙立体字PS制作教程
- 05-16AI教程 | 绘制扁平的萌萌哒图标
- 05-160基础学平面设计所需了解的基础常识汇总
- 05-16自学平面设计需要多长时间?十六年职业设计总监告诉你
- 05-16平面设计都要学习哪些内容?
- 05-16李涛PS教程 高手之路PS教程 合成教程 —制作一个小星球
- 05-16Illustrator实例教程:制作炫酷的漩涡效果
- 05-16Illustrator实例教程:利用混合工具制作一朵炫酷的花
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)