What does the Matlab function implement Please Explain funct

What does the Matlab function implement?

Please Explain

function [R] = SomeFunction(img, theta, thetaStep)

     

     %Obtain the image size in the x-direction

     [x,y] = size(img);

    

     %Set a matrix R to hold the projection data

     R = zeros((theta/thetaStep)+1,x);

    

     %Set vector for the angles to take projections at

     angles = 0:thetaStep:theta;

    

     %Matrix to hold all the rotated images separately to prevent blurring

     rotatedImage = zeros(x,y,length(angles));

     %Loop to rotate image and add up values for the projections

     for i = 1:(length(angles))

         %rotate the image starting with theta = 0 degrees

         rotatedImage(:,:,i) = imrotate(img,angles(i),\'nearest\', \'crop\');

         %Sum the columns of img to get projection data

         %Each row of R contains a projection at a certain theta

         R(i,:) = sum(rotatedImage(:,:,i),1);

    end

     

     %Convert the matrix to a gray scale image in the range 0 to 255

     R = mat2gray(R);

    figure

     imshow(R)

     title(\'My SomeFunction\')

end

Solution

This function is a Rotation of image and displays it
SomeFunction is a function name which takes the img(image) , theta for which the image has to be rotated
and thetaStep - increment in angle i.e. resolution

img is a 2-D image

[x,y]=size(img) take the no. of values in x direction and y and stores the values in x , y respectively

R = zeros((theta/thetaStep)+1,x) ; defines R as 2-d matrix for total no. of values of theta and x

angles = 0:thetaStep:theta; is a vector of angles

rotatedImage = zeros(x,y,length(angles)); defines as 3-D array to store the dimensions of new x,y for
each angle value in rotated image

for i=1:length(angles) for loop defined for total no. of angles

rotatedImage(:,:,i) = imrotate(img,angles(i),\'nearest\', \'crop\');
imroate takes the img values and rotates to each angle value specified in counterclockwise by default4
nearest is a method of interpolation to which this function gives the ouput values
crop - Make output image the same size as the input image , cropping the rotated image to fit


R(i,:) = sum(rotatedImage(:,:,i),1);
R stores the values for each angle in a row matrix
sum outputs a row matrix by summing all the column values if rotatedImage for each angle value

Thus R is a matrix of projections in each row for x columns

mat2gray converts the matrix to gray image

imshow(R) displays image

What does the Matlab function implement? Please Explain function [R] = SomeFunction(img, theta, thetaStep) %Obtain the image size in the x-direction [x,y] = siz
What does the Matlab function implement? Please Explain function [R] = SomeFunction(img, theta, thetaStep) %Obtain the image size in the x-direction [x,y] = siz

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site