Find indices of the lowest neighbour in matrix
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I'm trying to find the indices of the lowest value of three neighbours (red in picture below) for backtracking a path in a matrix
i = 331
j = end
[x y] = min([cost(end-1,j-1) cost(end,j-1) cost(end-1,j)])
Can anyone help me with this?
thanks
0 Kommentare
Antworten (1)
Vinai Datta Thatiparthi
am 3 Feb. 2020
Hello Morten,
matVal = [ .. ]; % Enter your input matrix here
% Enter the coordinates for the value of which you want to find the least neighbour of
xCoOrd = .. ;
yCoOrd = .. ;
% Find out all the neighbours of the element that you picked
convOut = conv2(double(I==I(xCoOrd, yCoOrd)), ones(3,3), 'same');
idx = find(convOut - double(I==I(xCoOrd, yCoOrd)));
% The index of the least neighbour
leastNeighbourIdx = find(I == min(I(idx)));
Hope this helps!
0 Kommentare
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!