What does the following code do?

2 次查看(过去 30 天)
If we have,
[row_num, col_num] = size(img);
What does the following code do?
function length_vec = compute_angular_length(row_num, col_num, amplitude_ang)
% function that calculates the maximum size in a diagonal image with
% inclination from 0 to 180° for each amp_ang degrees.
%
% length_vec = compute_angular_length (row_num, col_num, amplitude_ang)
%
% calculate the value of the angle for which I have the main diagonal
alpha_rad = atan2( row_num, col_num );
alpha = rad2deg(alpha_rad);
n_ang = floor(180/amplitude_ang);
length_vec = zeros(1, n_ang);
for i=1:n_ang
ang = (i-1)*amplitude_ang;
if (ang <= alpha || ang >= 180 - alpha )
length_vec(1,i)= abs(col_num / cos( deg2rad(ang)));
else
length_vec(1,i)= abs(row_num / cos( deg2rad(90 - ang)));
end;
end;
What does it mean by angular length?

采纳的回答

Walter Roberson
Walter Roberson 2017-10-1
Imagine that you are starting from one corner of a rectangular matrix, and you are drawing a line from there to somewhere on one of the opposite edges. What is the length of the angled line segment? This routine computes that, in increments of amplitude_ang degrees.

更多回答(0 个)

标签

尚未输入任何标签。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by