Radon变换

转自:http://baike.baidu.com/view/2435650.htm

两维情况下radon变换大致可以这样理解:一个平面内沿不同的直线(直线与原点的距离为d,方向角为alfa)对f(x,y)做线积分,得到的像F(d,alfa)就是函数f的Radon变换。也就是说,平面(d,alfa)的每个点的像函数值对应了原始函数的某个线积分值。一个更直观的理解是,假设你的手指被一个很强的平行光源透射,你迎着光源看到的手指图像就是手指的光衰减系数的三维Radon变换(小小的推广)在给定方向(两个角坐标)的时候的值。

一个最简单而直接的应用就是拿来检测图像里面含有的直线成分,很显然地,任何直线都会导致Radon像在该直线对应(d,alfa)处的极值。

转自: http://www.matlabsky.com/thread-11392-1-1.html

图像投影,就是说将图像在某一方向上做线性积分(或理解为累加求和)。如果将图像看成二维函数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类似,可以应用与检测直线。个人认为,通过将图像矩阵在多角度做积分投影,再对得到的数据做统计分析,可以确定出图像的一些基本性质。

转自:http://wiki.ilovematlab.cn/doc-view-696.html

使用方法:

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变换是图像像素点在每一条直线上的积分。因此,图像中高灰度值的直线会在ρθ空间形成亮点,而低灰度值的线段在ρθ空间形成暗点。对直线的检测转化为在变换区域对亮点、暗点的检测。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

原文地址:https://www.cnblogs.com/xkiwnchwhd/p/10317011.html

时间: 2024-11-13 12:26:00

Radon变换的相关文章

Radon变换——MATLAB

算法说明: 图像的Radon变换是每个像素的Radon变换的总和. 该算法首先将图像中的像素分成四个子像素,并分别投影每个子像素,如下图所示. 根据投影位置和箱体中心之间的距离,每个子像素的贡献按比例分成两个最近的仓.如果子像素投影击中仓的中心点,则轴上的仓将获得子像素的全部值,或像素值的四分之一.如果子像素投影命中两个分区之间的边界,则子像素值在分区之间被均匀分割. 语法: R = radon(I, theta)[R,xp] = radon(...)[___]= radon(gpuarrayI

Radon变换简介

学习笔记(2)---Matlab 图像处理相关函数命令大全

Matlab 图像处理相关函数命令大全 一.通用函数: colorbar  显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \

图象处理通用函数

一.通用函数: colorbar 显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow

图像处理与计算机视觉:图像处理与分析

1. Bilateral Filter Bilateral Filter俗称双边滤波器是一种简单实用的具有保持边缘作用的平缓滤波器,由Tomasi等在1998年提出.它现在已经发挥着重大作用,尤其是在HDR领域. [1998 ICCV] BilateralFiltering for Gray and Color Images [2008 TIP] AdaptiveBilateral Filter for Sharpness Enhancement and Noise Removal 2. Col

MATLAB Image Processing Toolbox 官方文档

一.函数 导入,导出和转换 从文件读取和写入图像数据 imread 从图形文件读取图像 imwrite 将图像写入图形文件 imfinfo 显示图形文件的信息 nitfinfo 显示NITF文件信息 nitfread 从NITF文件读取映像 dpxinfo 显示DPX文件信息 dpxread 读取DPX图像 analyze75info 从Analyze 7.5数据集的头文件中读取元数据 analyze75read 从Analyze 7.5数据集的图像文件读取图像数据 interfileinfo

二维物体形状识别方法比较

摘  要  针对模式识别中二维物体的形状识别问题,以二值图像中的物体形状为主要研究对象,依次从特征提取.分类器设计两个主要层面对形状识别方法进行了全面综述,并分析了国内外研究现状,特别是近年来所取得的最新研究成果.最后,指出了目前存在的问题以及今后的研究方向. 关键词  物体形状识别:特征提取:分类器设计 中图法分类号  TP391.41 Comparison on methods of 2D object shape recognition Abstract: In view of two-d

zhanzaiyi

图像变换(傅立叶变换), 图像增强, 边缘检测, 滤波, 图像压缩等. 实验工具:MATLAB软件 课程设计时间:2008年12月 实 验 部 分 1.     图像变换 程序代码及说明 clear all N=100; f=zeros(50,50);          %产生一个50*50的全0数组 f(15:35,23:28)=1; %定义图像数组,从15行到35行,23列到28列附值为1,为白色,其他区域为黑色 figure(1)                %创建窗口的图形对象,句柄为

MATLAB中图像处理的一些简单函数

A. imreadimread函数用于读入各种图像文件,其一般的用法为[X,MAP]=imread('filename','fmt')其中,X,MAP分别为读出的图像数据和颜色表数据,fmt为图像的格式,filename为读取的图像文件(可以加上文件的路径).例:[X,MAP]=imread('flowers.tif','tif');比较读取二值图像,灰度图像,索引图像,彩色图像的X和MAP的特点,可以利用size函数用来显示数组的维数,了解数据的特点.B=size(a) 返回数组a 的维数.