zoukankan      html  css  js  c++  java
  • Radon变换——MATLAB

    算法说明:

    图像的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(100,100);
    I(25:75, 25:75) = 1;

    计算Radon变换。

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

    显示变换。

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

    使轴缩放不可见。

    iptsetpref('ImshowAxesVisible','off')

    计算GPU上的Radon变换

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

     1 iptsetpref('ImshowAxesVisible','on')
     2 I = zeros(100,100);
     3 I(25:75, 25:75) = 1;
     4 theta = 0:180;
     5 [R,xp] = radon(gpuArray(I),theta);
     6 imshow(R,[],'Xdata',theta,'Ydata',xp,...
     7             'InitialMagnification','fit')
     8 xlabel('	heta (degrees)')
     9 ylabel('x''')
    10 colormap(gca,hot), colorbar
    11 iptsetpref('ImshowAxesVisible','off')

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

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

  • 相关阅读:
    ubuntu18 faster-rcnn
    osgViewer应用基础
    error C2086: “int WINGDIAPI”: 重定义
    test5
    test3
    test2
    Kinect关节数据
    MySQL乱码问题以及utf8mb4字符集
    mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg
    yum安装软件报错:curl#6
  • 原文地址:https://www.cnblogs.com/Arthurian/p/7532121.html
Copyright © 2011-2022 走看看