Geometric diagonal of a non-squared matrix

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!

回答 (1 件)

Jonathan Sullivan
Jonathan Sullivan 2012 年 2 月 7 日

0 投票

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!

カテゴリ

ヘルプ センター および File ExchangeOperating on Diagonal Matrices についてさらに検索

質問済み:

2012 年 2 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by