MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# medium points of Radon transform on image

Asked by Aissa on 19 May 2013

How to calculate I looked at how the rotation does not change the results of the calculation for the medium point, but I have not found the same results! I do not know if my program is wrong or not? The program is simple:

```image = imread('lena.bmp');
I=rgb2gray(image);
```
```theta= 0:1:179;
[n,l]=size(R);
```
```% calculate the medium point
n1=floor(n/2);
```
```% take the medium points of original image
points=R(n1,1:1:180);
II=imrotate(I,2);  % rotation de 2°
```
```% take the medium points after rotation
Points_après_rotation = R_rotation(n1,1:1:180);
```

thank you

## Products

Answer by Image Analyst on 19 May 2013

I'm finding a difference. Run my demo. It's based on yours but I cleaned it up a bit to be far more illustrative, and I used a standard demo image.

```clc;
clearvars;
close all;
workspace;
fontSize = 16;
```
```% Read in a standard MATLAB gray scale demo image.
folder = fullfile(matlabroot, '\toolbox\images\imdemos');
if ~exist(folder, 'dir')
% If that folder does not exist, don't use a folder
% and hope it can find the image on the search path.
folder = [];
end
baseFileName = 'cameraman.tif';
fullFileName = fullfile(folder, baseFileName);
% Get the dimensions of the image.  numberOfColorBands should be = 1.
[rows, columns, numberOfColorBands] = size(grayImage)
% Display the original gray scale image.
subplot(3, 3, 1);
imshow(grayImage, []);
title('Original Grayscale Image', 'FontSize', fontSize);
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
```
```% Compute Radon Transform.
theta= 0:1:179;
[n,l]=size(R);
subplot(3, 3, 2);
imshow(R, []);
title('R Image', 'FontSize', fontSize);
```
```% Determine the middle row.
middleRow = floor(n/2);
```
```% Extract and plot the middle row after rotation.
points=R(middleRow, 1 : 180);
subplot(3, 3, 3);
plot(points, 'b+-');
title('points', 'FontSize', fontSize);
```
```% Rotate the image by 2 degrees.
rotatedImage = imrotate(grayImage,2);  % rotation de 2°
% Display the original gray scale image.
subplot(3, 3, 4);
imshow(rotatedImage, []);
title('Rotated Grayscale Image', 'FontSize', fontSize);
```
```% Compute Radon Transform.
subplot(3, 3, 5);
imshow(R_rotation, []);
title('R rotation Image', 'FontSize', fontSize);
```
```% Extract and plot the middle row after rotation.
Points_apres_rotation = R_rotation(middleRow,1 : 180);
subplot(3, 3, 6);
plot(R_rotation, 'b+-');
title('Points apres rotation', 'FontSize', fontSize);
```
```% Construct difference between middle rows.
diffPoints = points - Points_apres_rotation;
subplot(3, 3, 8);
plot(diffPoints, 'b+-');
title('Difference between rows', 'FontSize', fontSize);
```

Aissa on 19 May 2013