Clear Filters
Clear Filters

Geometric diagonal of a non-squared matrix

1 view (last 30 days)
Hi everyone! I'm a learning matlab user and I've got a problem to solve: I need to extract a line segment from an image but it doesn't lie on the elements of the corresponding matrix. In other works, it would be like taking the main geometric diagonal of a rectangular matrix. How can I do that? Also, I wouldn't make any interpolation but just taking the closest elements to the line. Hope you can help me. Thanks!

Answers (1)

Jonathan Sullivan
Jonathan Sullivan on 7 Feb 2012
Ersilia,
Assuming your image is a 2D matrix, you could take "the rectangular main diagonal" from it by using the following code.
% M is your image % v is the "rectangular main diagonal"
[a b] = size(M);
nPix = max(a,b);
xi = linspace(1,b,nPix);
yi = linspace(1,a,nPix);
v = interp2(M,xi,yi);
Hope this helps!

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!