MATLAB:Radon正变换的理解
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正变换的理解相关推荐
- 脊波变换 matlab,浅析curvelet变换原理与理解 - 全文
Curvelet变换是基于傅里叶变换和小波变换的一种改进,其特点是有高度的各向异性,具有良好表达图形沿边缘的信息的能力,对于恢复形状的沿边缘的主要结构和抑制周边噪声有其特有优势. 其过程为 这和传统的 ...
- matlab离散傅里叶逆变换,手动实现离散傅里叶正变换与逆变换(程序+例子)
前言 实际野外采集到的信号都是有一定时间间隔的,因为本文主要关注于"离散傅里叶变换(DFT)".另外,本文主要关注的是"如何使用"DFT这样一个工具(公式的使用 ...
- matlab pq变换,PQ变换与DQ变换的理解与推导详解.doc
p-q变换与d-q变换的理解与推导 120变换和空间向量 120坐标系是一个静止的复数坐标系.120分量首先由莱昂(Lyon)提出,所以亦成为莱昂分量.下面以电流为例说明120变换...为三相电流瞬时 ...
- matlab pq变换,PQ变换与DQ变换的理解与推导
. . 页脚 一. p-q 变换与d-q 变换的理解与推导 1. 120变换和空间向量 120坐标系是一个静止的复数坐标系.120分量首先由莱昂(Lyon )提出,所以亦成为莱昂分量.下面以电流为例说 ...
- MATLAB基于Randon变换的图像倾斜校正算法及实现
Radon变换的基本原理: 一个平面内沿不同的直线(直线与原点的距离为d,方向角为alfa)对f(x,y)做线积分,得到的像F(d,alfa)就是函数f的Radon变换.也就是说,平面(d,alfa) ...
- matlab 差分方程z变换,[2018年最新整理]差分方程的Z变换解.ppt
[2018年最新整理]差分方程的Z变换解 实验24 差分方程的Z变换解 实验目的 学习使用Matlab的符号运算Z变换和反Z变换方法.以及反Z变换中的部分分式展开法.加深对Z变换的理解. 学习用Mat ...
- matlab实现阶跃响应变换,z域的阶跃响应matlab
离散系统的的Z域分析及Matlab实现_计算机软件及应用_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 离散系统的的Z域分析及Matlab实现_计算机软件及应用_...... 201 ...
- MATLAB中hough反变换,matlab中hough变换
hough 变换提取直线(Matlab 实现) Hough 变换提取直线一.实验目标实现用 Hough 变换检测直线的算法二.实验内容 1.读入图像选取有较多直线及部分曲线以作对比的...... j= ...
- ML之MIC:利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数、最大信息系数MIC)
ML之MIC:利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数.最大信息系数MIC) 目录 利用有无噪音的正余弦函数理解相关性指标的不同(多图绘制Pearson系数.最大信息系 ...
最新文章
- Ubuntu的apt-get使用国内的源
- QIIME 2用户文档. 3老司机上路指南(2018.11)
- js 编码、解码与asp.net 编码、解码
- ListView中添加Button后,Button的点击事件和ListView的点击事件冲突
- 怎样使用fastJson发送数组格式的Json数据
- 用友3.0谋局“新两化” 融合创新迸发新动能
- getElementById() getElementsByName() getElementsByTagName()
- 17 张程序员专属壁纸,有你喜欢的吗?
- 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进
- 【Web学习笔记】easyui框架
- html语言标记滚动字幕,网页滚动文字的制作HTML代码
- PTAM(parallel Tracking and Mapping)
- [计算机数值分析]拉格朗日插值公式
- iOS——应用内调用Face ID、Touch ID
- 非洲Affrike单词
- 视频2-视频文件解析和格式说明
- 谷歌seo外链发布50+个网站平台分享(e6zzseo)
- square在matlab是什么意思,square是什么意思
- Firefox OS简单介绍
- play Framework 配置
热门文章
- js立即执行函数,jqueryReady和Onload执行顺序比较
- 毕业设计(论文)的内容要求和参考格式
- 小程序使用本地图片报错问题 Failed to load local image resource
- 关于某normal大学数据库登录的一个尝试
- matlab拷贝不进u盘,Mac无法拷贝文件到U盘怎么办
- 月均GMV超1500万,“组合营销”如何成为快手品牌出圈利器?
- 打开或关闭 Windows 功能
- 【计算机系统结构】Micro-operation微操作
- 清华大学尹成 怎么样
- jump大乱斗维护服务器,Jump大乱斗常见问题解决方法_Jump大乱斗常见问题解决及按键设置方法_飞翔教程...