Radon正变换的理解

  • 前言
  • 一、介绍
  • 二、MATLAB实现
    • 1.图1的matlab程序
    • 2.多角度radon变换
  • 三、总结

前言

网上看了些有关Radon变换的介绍,结合自己看书和理解写下这篇blog,内容尽量做到最精简,欢迎阅读啊!


提示:以下是本篇文章正文内容,下面案例可供参考。

一、介绍

  Randon变换广泛应用于医学成像中,在X-CT成像中,为获得人体器官或组织的体层平面,X线束需要绕着体层平面的中心点进行平移和旋转,用数学语言描述那便是:对于人体内器官或组织的断层平面f(x,y),它在给定的坐标系XOY中,沿着某一个投影方向,对每一条投影线计算断层平面f(x,y)的先积分,就得到该射线上的投影之g(R,θ),其数学表达式如下:
g(R,θ)=∫−∞+∞∫−∞+∞f(x,y)δ(xcos⁡θ+ysin⁡θ−R)dxdyg(R,\theta )=\int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty}f(x,y)\delta (x\cos\theta +y\sin\theta-R)dxdy g(R,θ)=∫−∞+∞​∫−∞+∞​f(x,y)δ(xcosθ+ysinθ−R)dxdy

  说完正经的理论,现在说一下我的理解,结合图来理解更快一点搞明白,如下最左侧图所示,亮度集中在中央的正方形上,若将其投影在XOY坐标系的0度射线上,中图所示为一个等高的矩形,而若投影在一条45度的射线上时,最右侧图所示,则变成了一个等腰三角形,是不是很有意思。

  我自己简单画了一下其投影的过程,见下面的第二幅图,画的不是特别精致,不过大家可以自己动手画画有助于理解。

二、MATLAB实现

1.图1的matlab程序

  png读入后是三维的需要将其降至二维,而后使用radon函数,具体代码如下所示。

close all;clear all;clc;
I = imread("original_pic.png");
I = rgb2gray(I);
I = im2double(I);
[R,xp]=radon(I,[0,45]);
figure;
subplot(131);imshow(I);
subplot(132);plot(xp,R(:,1));
subplot(133);plot(xp,R(:,2));

2.多角度radon变换

close all;clear all;clc;
I = imread("original_pic.png");
I = rgb2gray(I);
I = im2double(I);
theta = 0:10:180;%0-180,每10度画一个
[R,xp] = radon(I,theta);
figure;
subplot(121);imshow(I);
subplot(122);imagesc(theta,xp,R);
colormap(hot);
colorbar;


  根据第二幅图的右侧颜色蓝,可以看出0度时,颜色条很均匀,而45度时,中心区域强度远大于两侧的,这就对应上第一部分中的内容。

三、总结

  本篇主要是对radon变换的简要理解,文中内容及相关编程参考了清华大学出版社,杨丹,赵海滨,龙哲所编写的的《MATLAB图像处理实例详解》。

MATLAB:Radon正变换的理解相关推荐

  1. 脊波变换 matlab,浅析curvelet变换原理与理解 - 全文

    Curvelet变换是基于傅里叶变换和小波变换的一种改进,其特点是有高度的各向异性,具有良好表达图形沿边缘的信息的能力,对于恢复形状的沿边缘的主要结构和抑制周边噪声有其特有优势. 其过程为 这和传统的 ...

  2. matlab离散傅里叶逆变换,手动实现离散傅里叶正变换与逆变换(程序+例子)

    前言 实际野外采集到的信号都是有一定时间间隔的,因为本文主要关注于"离散傅里叶变换(DFT)".另外,本文主要关注的是"如何使用"DFT这样一个工具(公式的使用 ...

  3. matlab pq变换,PQ变换与DQ变换的理解与推导详解.doc

    p-q变换与d-q变换的理解与推导 120变换和空间向量 120坐标系是一个静止的复数坐标系.120分量首先由莱昂(Lyon)提出,所以亦成为莱昂分量.下面以电流为例说明120变换...为三相电流瞬时 ...

  4. matlab pq变换,PQ变换与DQ变换的理解与推导

    . . 页脚 一. p-q 变换与d-q 变换的理解与推导 1. 120变换和空间向量 120坐标系是一个静止的复数坐标系.120分量首先由莱昂(Lyon )提出,所以亦成为莱昂分量.下面以电流为例说 ...

  5. MATLAB基于Randon变换的图像倾斜校正算法及实现

    Radon变换的基本原理: 一个平面内沿不同的直线(直线与原点的距离为d,方向角为alfa)对f(x,y)做线积分,得到的像F(d,alfa)就是函数f的Radon变换.也就是说,平面(d,alfa) ...

  6. matlab 差分方程z变换,[2018年最新整理]差分方程的Z变换解.ppt

    [2018年最新整理]差分方程的Z变换解 实验24 差分方程的Z变换解 实验目的 学习使用Matlab的符号运算Z变换和反Z变换方法.以及反Z变换中的部分分式展开法.加深对Z变换的理解. 学习用Mat ...

  7. matlab实现阶跃响应变换,z域的阶跃响应matlab

    离散系统的的Z域分析及Matlab实现_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 离散系统的的Z域分析及Matlab实现_计算机软件及应用_...... 201 ...

  8. MATLAB中hough反变换,matlab中hough变换

    hough 变换提取直线(Matlab 实现) Hough 变换提取直线一.实验目标实现用 Hough 变换检测直线的算法二.实验内容 1.读入图像选取有较多直线及部分曲线以作对比的...... j= ...

  9. ML之MIC:利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数、最大信息系数MIC)

    ML之MIC:利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数.最大信息系数MIC) 目录 利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数.最大信息系 ...

最新文章

  1. Ubuntu的apt-get使用国内的源
  2. QIIME 2用户文档. 3老司机上路指南(2018.11)
  3. js 编码、解码与asp.net 编码、解码
  4. ListView中添加Button后,Button的点击事件和ListView的点击事件冲突
  5. 怎样使用fastJson发送数组格式的Json数据
  6. 用友3.0谋局“新两化” 融合创新迸发新动能
  7. getElementById() getElementsByName() getElementsByTagName()
  8. 17 张程序员专属壁纸,有你喜欢的吗?
  9. 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进
  10. 【Web学习笔记】easyui框架
  11. html语言标记滚动字幕,网页滚动文字的制作HTML代码
  12. PTAM(parallel Tracking and Mapping)
  13. [计算机数值分析]拉格朗日插值公式
  14. iOS——应用内调用Face ID、Touch ID
  15. 非洲Affrike单词
  16. 视频2-视频文件解析和格式说明
  17. 谷歌seo外链发布50+个网站平台分享(e6zzseo)
  18. square在matlab是什么意思,square是什么意思
  19. Firefox OS简单介绍
  20. play Framework 配置

热门文章

  1. js立即执行函数,jqueryReady和Onload执行顺序比较
  2. 毕业设计(论文)的内容要求和参考格式
  3. 小程序使用本地图片报错问题 Failed to load local image resource
  4. 关于某normal大学数据库登录的一个尝试
  5. matlab拷贝不进u盘,Mac无法拷贝文件到U盘怎么办
  6. 月均GMV超1500万,“组合营销”如何成为快手品牌出圈利器?
  7. 打开或关闭 Windows 功能
  8. 【计算机系统结构】Micro-operation微操作
  9. 清华大学尹成 怎么样
  10. jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...