算法说明:

图像的Radon变换是每个像素的Radon变换的总和。

该算法首先将图像中的像素分成四个子像素,并分别投影每个子像素,如下图所示。

根据投影位置和箱体中心之间的距离,每个子像素的贡献按比例分成两个最近的仓。如果子像素投影击中仓的中心点,则轴上的仓将获得子像素的全部值,或像素值的四分之一。如果子像素投影命中两个分区之间的边界,则子像素值在分区之间被均匀分割。

语法:

R = radon(I, theta)
[R,xp] = radon(...)
[___]= radon(gpuarrayI,theta)

描述:

R = radon(I, theta)返回角度度R的强度图像的Radon变换。Itheta

Radon变换是沿着以特定角度定向的径向线的图像强度的投影。如果theta是标量,R则是包含theta度数的Radon变换的列向量。如果theta是向量,R则是其中每列是其中一个角度的Radon变换的矩阵theta。如果省略theta,则默认为0:179。

[R,xp] = radon(...)返回一个xp包含对应于每行的径向坐标的向量R

径向坐标返回在xp沿着值'轴,其在面向theta逆时针方向从度X轴。两个轴的原点是图像的中心像素,其定义为

地板((大小(I)+1)/ 2)

例如,在20×30的图像中,中心像素为(10,15)。

[___]= radon(gpuarrayI,theta)在GPU上执行Radon变换。输入图像和返回值是2-D gpuArrays。theta可以是double基础类的一个或者gpuArray double

类支持:

I可以是类doublelogical或任何整数类。所有其他输入和输出都是类double。这两个输入都不可能是稀疏的。

gpuarrayI是与基础类gpuArray uint8uint16uint32int8int16int32logicalsingledouble,并且必须是二维的。thetadouble底层类的向量或gpuArray向量double。

实例:

计算Radon变换和显示图

使轴缩放可见此图像。

iptsetpref('ImshowAxesVisible','on')

创建示例图像。

I = zeros(,);
I(:, :) = ;

计算Radon变换。

theta = :;
[R,xp] = radon(I,theta);

显示变换。

imshow(R,[],'Xdata',theta,'Ydata',xp,'InitialMagnification','fit')
xlabel('\theta (degrees)')
ylabel('x''')
colormap(gca,hot), colorbar

使轴缩放不可见。

iptsetpref('ImshowAxesVisible','off')

计算GPU上的Radon变换

在GPU上计算Radon变换并将其可视化。

 iptsetpref('ImshowAxesVisible','on')
I = zeros(,);
I(:, :) = ;
theta = :;
[R,xp] = radon(gpuArray(I),theta);
imshow(R,[],'Xdata',theta,'Ydata',xp,...
'InitialMagnification','fit')
xlabel('\theta (degrees)')
ylabel('x''')
colormap(gca,hot), colorbar
iptsetpref('ImshowAxesVisible','off')

作者:耑新新,发布于  博客园

转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

Radon变换——MATLAB的更多相关文章

  1. Hilbert-Huang Transform: matlab 希尔伯特-黄变换: matlab实现

    关于Hilbert-Huang的matlab实现,材料汇总,比较杂...感谢所有网络上的贡献者们:) 核心:以下代码计算HHT边际谱及其对应频率 工具包要求:G-Rilling EMD Toolbox ...

  2. matlab函数大全

    Matlab 图像处理相关函数命令大全 一.通用函数: colorbar  显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ col ...

  3. MATLAB图像处理函数汇总(二)

    60.imnoise 功能:增加图像的渲染效果. 语法: J = imnoise(I,type) J = imnoise(I,type,parameters) 举例 I = imread('eight ...

  4. matlab图像处理

    matlab图像处理 转自:http://www.cnblogs.com/lovebay/p/5094146.html 1. 图像和图像数据 缺省情况下,MATLAB将图像中的数据存储为双精度类型(d ...

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

    Matlab 图像处理相关函数命令大全 一.通用函数: colorbar  显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ col ...

  6. matlab 小波变换

    MATLAB小波变换指令及其功能介绍 1 一维小波变换的 Matlab 实现 (1) dwt函数 功能:一维离散小波变换 格式:[cA,cD]=dwt(X,'wname') [cA,cD]=dwt(X ...

  7. MATLAB图像处理工具箱

    下列表格中除了个别函数外,其余函数都是图像处理工具箱提供的关于图像处理的函数,现摘录到此以备查找. 表1 图像显示 函数名 功能说明 函数名 功能说明 colorbar 颜色条显示 montage 按 ...

  8. matlab快捷键大全

    原文地址,点此查看 一.常用对象操作 除了一般windows窗口的常用功能键外. 1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看. 2.who   可以查看当前 ...

  9. [转载] MATLAB快捷键

    原文地址,点此查看 一.常用对象操作 除了一般windows窗口的常用功能键外. 1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看. 2.who   可以查看当前 ...

随机推荐

  1. 修改const保护的值

    先看代码: #include <stdio.h> void main() { const int num = 10; int *a = (int *)(void *)&num; / ...

  2. Mongo 后台加索引踩坑

    背景,随着mongo数据量变大,查询效率变低,要对索引进行优化,所在公司对mongo依赖比较严重,而DBA并不对mongo的权限做控制,所以每个后端开发都有mongo的读写权限,通常每个人各自管理自己 ...

  3. windows查找端口占用/ 终结端口占用 ------------windows小技巧

    前沿 我是一名小程序员,经常通过一些类似tomcat,jettry 等服务器工具 调试项目.有时候莫名其妙的就会出现 程序关闭不正常的情况!去查端口又死活找不到!最后只能重启电脑 后面,在网上查了一些 ...

  4. SQL on Hadoop中用到的主要技术——MPP vs Runtime Framework

    转载声明 本文转载自盘点SQL on Hadoop中用到的主要技术,个人觉得该文章对于诸如Impala这样的MPP架构的SQL引擎和Runtime Framework架构的Hive/Spark SQL ...

  5. Twitter.com在用哪些Javascript框架?

    我一直在研究 twitter.com 使用的一些 UI 框架.下面是这些框架的清单(大部分是 Javascript 框架).如果你发现有些框架 Twitter 已经没在使用了,请随时告诉我! 测试 J ...

  6. 20155230 2016-2017-2《Java程序设计》第六周学习总结

    20155230 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象. 从应用程序角度 ...

  7. thinkphp 修改分页样式表

    原网页:http://blog.csdn.net/u014175572/article/details/53116546 在这里我有先把page的设置做成了一个函数getpage, 将这个方法放到Ap ...

  8. 微服务深入浅出(5)-- 声明式调用Feign

    Feign的使用 Feign采用了声明式的API接口的风格,将Java Http客户端绑定到它的内部,从而调用过程变的简单. 配置文件: spring: application: name: eure ...

  9. 1.phpcms的安装和卸载文件

    一.安装文件 ①languages文件夹 语言包:zh-cn\order.lang.php //样式<?php $LANG['order_new'] = '订单管理'; ?> ②templ ...

  10. sklearn_k邻近分类_KNeighborsClassifier

    # coding:utf-8 import numpy as np import matplotlib.pyplot as plt from sklearn.neighbors import KNei ...