-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathBlackBoxConfidance.m
83 lines (79 loc) · 3.61 KB
/
BlackBoxConfidance.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
76
77
78
79
80
81
82
83
function [cordinates, redius2, signalColorDest]=BlackBoxConfidance(sourceImage,CenterCor, redius, signalColor)
[row, col]=size(CenterCor);
% cordinates= redius;
cordinates=zeros(row,col);
redius2=zeros(row,1);
% signalColor=repmat('',[row, 1]);
signalColorDest=cell(row,1);
counter=1;
% %% Find the Bulb Color Confidance of every circle
% for i=1:row
% if redius(i) ~= 0
% rectup=[CenterCor(i,1)-redius(i), CenterCor(i,2)-(2*redius(i)), redius(i)*2, redius(i)*2 ];
% rectdown=[CenterCor(i,1)-redius(i), CenterCor(i,2)+redius(i), redius(i)*2, redius(i)*2 ];
% Iup=imcrop(sourceImage,rectup);
% Idown=imcrop(sourceImage,rectdown);
% % This is to find Bulb Color Confidance
% [statusup]=findColorRGB(Iup);
% [statusdown]=findColorRGB(Idown);
%
% if strcmp(statusup,'Black') || strcmp(statusdown,'Black')
% cordinates(counter,:)=CenterCor(i,:);
% redius2(counter)=redius(i);
% signalColorDest{counter,1}=signalColor{i,1};
% counter = counter + 1;
% end
%
% % if strcmp(status,'Red') || strcmp(status,'Green') || strcmp(status,'Yellow')
% % cordinates(counter,:)=CenterCor(i,:);
% % redius2(counter)=redius(i);
% % signalColor{counter,1}=status;
% % counter = counter + 1;
% % end
% % figure;imshow(I2);
% end
% end
% end
for i=1:row
if redius(i) ~= 0 && CenterCor(i,1)-redius(i) > 4*redius(i) && CenterCor(i,2)-redius(i) > 4*redius(i)
% rectup=[CenterCor(i,1)-redius(i), CenterCor(i,2)-(2*redius(i)), redius(i)*2, redius(i)*2 ];
% rectdown=[CenterCor(i,1)-redius(i), CenterCor(i,2)+redius(i), redius(i)*2, redius(i)*2 ];
if strcmp(signalColor(i),'Yellow')
rectup=[CenterCor(i,1)-redius(i), ((CenterCor(i,2)-redius(i))-2*redius(i)), redius(i)*2, redius(i)*2];
rectdown=[CenterCor(i,1)-redius(i), CenterCor(i,2)+redius(i), redius(i)*2, redius(i)*2];
Iup=imcrop(sourceImage,rectup);
Idown=imcrop(sourceImage,rectdown);
% This is to find Bulb Color Confidance
[statusup]=findColorRGB(Iup);
[statusdown]=findColorRGB(Idown);
if strcmp(statusup,'Black') && strcmp(statusdown,'Black')
cordinates(counter,:)=CenterCor(i,:);
redius2(counter)=redius(i);
signalColorDest{counter,1}=signalColor{i,1};
counter = counter + 1;
end
% if strcmp(status,'Red') || strcmp(status,'Green') || strcmp(status,'Yellow')
% cordinates(counter,:)=CenterCor(i,:);
% redius2(counter)=redius(i);
% signalColor{counter,1}=status;
% counter = counter + 1;
% end
% figure;imshow(I2);
else
if strcmp(signalColor(i),'Green')
rect=[CenterCor(i,1)-redius(i), ((CenterCor(i,2)-redius(i))-4*redius(i)), redius(i)*2, redius(i)*4];
end
if strcmp(signalColor(i),'Red')
rect=[CenterCor(i,1)-redius(i), CenterCor(i,2)+redius(i), redius(i)*2, redius(i)*4];
end
Idown=imcrop(sourceImage,rect);
[statusdown]=findColorRGB(Idown);
if strcmp(statusdown,'Black')
cordinates(counter,:)=CenterCor(i,:);
redius2(counter)=redius(i);
signalColorDest{counter,1}=signalColor{i,1};
counter = counter + 1;
end
end
end
end