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; [R,xp]= radon(I,theta); [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° R_rotation= radon(II,theta);

% take the medium points after rotation Points_après_rotation = R_rotation(n1,1:1:180);

thank you

Answer by Image Analyst
on 19 May 2013

Accepted answer

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); grayImage = imread(fullFileName); % 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; [R,xp]= radon(grayImage,theta); [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. R_rotation = radon(rotatedImage,theta); 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);

Image Analyst
on 19 May 2013

Opportunities for recent engineering grads.

## 0 Comments