-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathIndexationWithConflictSolving.m
75 lines (48 loc) · 1.06 KB
/
IndexationWithConflictSolving.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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
close all;
clear;
clc;
img=imread('ccl1.png');
[Y, X]=size(img);
img_c=img;
L=1;
id=1:100;
for y=2:Y
for x=2:(X-1)
if img_c(y,x)~=0
neigbhours=[img_c(y-1,x-1),img_c(y-1,x),img_c(y-1,x+1),img_c(y,x-1)];
nz=nonzeros(neigbhours);
mini=min(nz);
maxi=max(nz);
if sum(neigbhours)==0
img_c(y,x)=L;
L=L+1;
elseif mini==maxi
img_c(y,x)=mini;
elseif mini~=maxi
img_c(y,x)=mini;
id=index_union(maxi,mini,id);
end
end
end
end
lut=1:100;
figure;
imshow(img_c,[]);
for i=1:100
lut(i)=index_root(i,id);
end
for y=2:Y
for x=2:(X-1)
if img_c(y,x)>0
value=img_c(y,x);
img_c(y,x)=lut(value);
end
end
end
figure;
subplot(2,1,1);
imshow(img);
title("Orginal");
subplot(2,1,2);
imshow(img_c,[]);
title("After Indexation with Solving");