两维情况下radon变换大致可以这样理解:一个平面内沿不同的直线(直线与原点的距离为d,方向角为alfa)对f(x,y)做线积分,得到的像F(d,alfa)就是函数f的Radon变换。也就是说,平面(d,alfa)的每个点的像函数值对应了原始函数的某个线积分值。一个更直观的理解是,假设你的手指被一个很强的平行光源透射,你迎着光源看到的手指图像就是手指的光衰减系数的三维Radon变换(小小的推广)在给定方向(两个角坐标)的时候的值。
一个最简单而直接的应用就是拿来检测图像里面含有的直线成分,很显然地,任何直线都会导致Radon像在该直线对应(d,alfa)处的极值。
图像投影,就是说将图像在某一方向上做线性积分(或理解为累加求和)。如果将图像看成二维函数f(x, y),则其投影就是在特定方向上的线性积分,比如f(x, y)在垂直方向上的线性积分就是其在x轴上的投影;f(x, y)在水平方向上的线积分就是其在y轴上的投影。通过这些投影,可以获取图像在指定方向上的突出特性,这在图像模式识别等处理中可能会用到。
Radon变换(拉东变换),就是将数字图像矩阵在某一指定角度射线方向上做投影变换。这就是说可以沿着任意角度theta来做Radon变换。
% 实验Radon变换
% By lyqmath
% Dalian University of Technology
% School of Mathematical Sciences
clc; clear all; close all;
I = zeros(256, 256);
[r, c] = size(I);
I(floor(1/5*r:4/5*r), floor(3/5*c:4/5*c)) = 1;
figure;
subplot(2, 2, 1); imshow(I); title('原图像');
[R, xt] = radon(I, [0 45 90]); % 在0、45、90度方向做radon变换
subplot(2, 2, 2);
plot(xt, R(:, 1));
title('水平方向的radon变换曲线');
subplot(2, 2, 3);
plot(xt, R(:, 2));
title('45度方向的radon变换曲线');
subplot(2, 2, 4);
plot(xt, R(:, 3));
title('垂直方向的radon变换曲线');
由于radon变换将图像变换到按角度投影区域,和有名的hough类似,可以应用与检测直线。个人认为,通过将图像矩阵在多角度做积分投影,再对得到的数据做统计分析,可以确定出图像的一些基本性质。
使用方法:
1、R = radon(I, theta)
返回亮度图像在角度theta下的Radon变换R。
Radon变换是一幅图像在一个特定的角度下的径向线方向的投影。如果theta是一个标量,R则是一个包含在theta的列向量。如果theta是一个向量,R则是一个矩阵,据真的每一列是对应其中一个theta的Radon变换。如果忽略掉theta,则其默认为0:179.
2、[R,xp] = radon(...)
对应于R中的每一行,返回一个包含径向坐标的向量xp。xp中的径向坐标是沿着X’轴的数值,其为在theta下,X’轴逆时针方向映射来的。两个坐标系的原点为图像的中心点,且为floor((size(I)+1)/2),例如在一个20-by-30的图像中,其中心点为(10,15)。
算法讲解:一幅图像的Radon变换是每一个像素Radon变换的集合。此算法首先将一个像素分成四个子像素,并且四个子像素分别投影,如下图所示:
通过投影的位置以及bin的中心,每一个子像素的作用是按比例分裂两个最相邻的bins。如果子像素的投影与一个bin的中心相接,则坐标轴上的bin获得子像素的值,或者原始大小像素的1/4的值。如果子像素投影时,投影到了量bins之间,则子像素的值按比例分给两个bins。
转自:http://www.ilovematlab.cn/viewthread.php?tid=82671&pid=1455763&page=1&extra=page%3D1#pid1455763
Hough变换的基本原理:其基本原理在于利用点与线的对偶性,将原始图像空间给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。比如可以将Hough变换推广为检测直线、椭圆、圆、弧线等。
Hough变换的基本思想:在原始图像坐标系下的一个点对应了参数坐标系中的一条直线,同样参数坐标系的一条直线对应了原始坐标系下的一个点,然后,原始坐标系下呈现直线的所有点,它们的斜率和截距是相同的,所以它们在参数坐标系下对应于同一个点。这样在将原始坐标系下的各个点投影到参数坐标系下之后,看参数坐标系下有没有聚集点,这样的聚集点就对应了原始坐标系下的直线。
Radon变换的基本原理:一个平面内沿不同的直线(直线与原点的距离为d,方向角为alfa)对f(x,y)做线积分,得到的像F(d,alfa)就是函数f的Radon变换。也就是说,平面(d,alfa)的每个点的像函数值对应了原始函数的某个线积分值。
Radon变换的基本思想:Radon变换可以理解为图像在ρθ空间的投影,ρθ空间的每一点对应一条直线,而Radon变换是图像像素点在每一条直线上的积分。因此,图像中高灰度值的直线会在ρθ空间形成亮点,而低灰度值的线段在ρθ空间形成暗点。对直线的检测转化为在变换区域对亮点、暗点的检测。