-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsegmentAdjacency.m
35 lines (29 loc) · 939 Bytes
/
segmentAdjacency.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function [ A ] = segmentAdjacency( labels )
%SEGMENTADJACENCY Summary of this function goes here
% Detailed explanation goes here
[rows,cols] = size(labels);
minLabel = min(min(labels));
labels = labels - minLabel + 1;
numLabels = max(max(labels));
A = zeros(numLabels,numLabels);
for v = 2:rows-1
for u = 2:cols-1
if( labels(v,u) ~= labels(v-1,u) )
A(labels(v,u), labels(v-1,u)) = 1;
A(labels(v-1,u), labels(v,u)) = 1;
end
if( labels(v,u) ~= labels(v+1,u) )
A(labels(v,u), labels(v+1,u)) = 1;
A(labels(v+1,u), labels(v,u)) = 1;
end
if( labels(v,u) ~= labels(v,u-1) )
A(labels(v,u), labels(v+1,u)) = 1;
A(labels(v+1,u), labels(v,u)) = 1;
end
if( labels(v,u) ~= labels(v,u+1) )
A(labels(v,u), labels(v,u+1)) = 1;
A(labels(v,u+1), labels(v,u)) = 1;
end
end
end
end