A list,

In the case of two dimensions, Radon transformation can be roughly understood as follows: Line integration of F(x, y) along different lines in a plane (the distance between the line and the origin is D and the direction Angle is Alfa), and the image f (d, Alfa) obtained is the Radon transformation of function F. That is, the image function value at each point of the plane (d, alfa) corresponds to some line integral value of the original function. A more intuitive way to think about it is that if your finger is being transmitted through a very strong parallel light source, the image you see of your finger facing the light source is the three-dimensional Radon transform (a small generalization) of the finger’s optical attenuation coefficient in a given direction (two angular coordinates).

Ii. Source code

function varargout = Radon_trans(varargin)
% RADON_TRANS M-file for Radon_trans.fig
%      RADON_TRANS, by itself, creates a new RADON_TRANS or raises the existing
%      singleton*.
%
%      H = RADON_TRANS returns the handle to a new RADON_TRANS or the handle to
%      the existing singleton*.
%
%      RADON_TRANS('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in RADON_TRANS.M with the given input arguments.
%
%      RADON_TRANS('Property'.'Value',...). creates anew RADON_TRANS orraises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before Radon_trans_OpeningFunction gets called. An % unrecognized property  nameor invalid value makes property application
%      stop.  All inputs are passed to Radon_trans_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one % instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help Radon_trans

% Last Modified by GUIDE v2. 5 12-Jun- 2009. 20:15:52

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @Radon_trans_OpeningFcn, ...
                   'gui_OutputFcn',  @Radon_trans_OutputFcn, ...
                   'gui_LayoutFcn', [],...'gui_Callback'[]);if nargin & isstr(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before Radon_trans is made visible.
function Radon_trans_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to Radon_trans (see VARARGIN)
axes(handles.axes1);
img=imread('lena.bmp');
imshow(img);
axes(handles.axes2);
theta=0:180;
[R,xp]=radon(img,theta);
imagesc(theta,xp,R);
axes(handles.axes3);
[R,xp]=radon(img,[0 45]);
plot(xp,R(:,1));
axes(handles.axes4);
[R,xp]=radon(img,[0 45]);
plot(xp,R(:,2));
% Choose default command line output for Radon_trans
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes Radon_trans wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = Radon_trans_OutputFcn(hObject, eventdata, handles)
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: popupmenu controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc
    set(hObject,'BackgroundColor'.'white');
else
    set(hObject,'BackgroundColor',get(0.'defaultUicontrolBackgroundColor'));
end


% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns popupmenu1 contents as cell array
%        contents{get(hObject,'Value')} returns selected item from popupmenu1
val=get(hObject,'value');
str=get(hObject,'string');
switch str{val};
    case 'lena'
        lena = [];
        lena = imread('lena.bmp');
        img = lena;
    case 'cameraman'
        cameraman=[];
        cameraman=imread('cameraman.tif');
        img=cameraman;
    case 'Saturn',
        saturn = [];
        load imdemos saturn
        img = saturn;
    case 'Tire',
        tire = [];
        load imdemos tire
        img = tire;
    case 'Pout',
        pout = [];
        load imdemos pout
        img = pout;
    case 'Trees',
        trees = [];
        load imdemos trees
        img = trees;
    case 'Quarter',
        quarter = [];
        load imdemos quarter
        img = quarter;
    case 'Circuit',
        circuit = [];
        load imdemos circuit
        img = circuit;
    case 'Rice',
        rice = [];
        load imdemos rice
        img = rice;
    case 'Fingerprint'
        fingerprint = [];
        fingerprint = imread('fingerprint.jpg');
        img = fingerprint;
    case 'Licenceplate'
        licenceplate = [];
        licenceplate = imread('licenceplate.jpg');
        img = licenceplate;
    case 'Haze'
        haze = [];
        haze = imread('haze.jpg');
        img = haze;
    case 'Cloudy'
        cloudy = [];
        cloudy = imread('cloudy.tif');
        img = cloudy;

end
axes(handles.axes1);
imshow(img);
axes(handles.axes2);
theta=0:180;
[R,xp]=radon(img,theta);
imagesc(theta,xp,R);
axes(handles.axes3);
[R,xp]=radon(img,[0 45]);
plot(xp,R(:,1));
axes(handles.axes4);
[R,xp]=radon(img,[0 45]);
plot(xp,R(:,2));


% --- Executes on button press in close_button.
function close_button_Callback(hObject, eventdata, handles)
% hObject    handle to close_button (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
close(Radon_trans);
Copy the code

3. Operation results

Fourth, note

Version: 2014 a