Geometric diagonal of a non-squared matrix

3 ビュー (過去 30 日間)
Ersilia Leonardis
Ersilia Leonardis 2012 年 2 月 7 日
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 日
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!

カテゴリ

Help Center および File ExchangeOperating on Diagonal Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by