-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnodes_lrud.m
More file actions
88 lines (71 loc) · 1.94 KB
/
Copy pathnodes_lrud.m
File metadata and controls
88 lines (71 loc) · 1.94 KB
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
84
85
86
87
88
% start_X, start_Y, end_X, end_Y
% [rlud;rlud;rlud]
% a = imread('comp_removed.jpg');
% a_g = rgb2gray(a);
% a = im2bw(rgb2gray(a));
% figure, imshow(a);
[p,b,c,d,e] = hough_cap(a,10,10);
[start_X,end_X,start_Y,end_Y] = getNodes(e,15);
BW = edge(a,'sobel');
figure, imshow(imcomplement(BW));
BW = imcomplement(BW);
N = [start_X; end_X; start_Y; end_Y];
w_x = abs(start_X - end_X);
w_y = abs(start_Y - end_Y);
[m,n] = size(N); % m=4 always, n=no. of nodes
N_m = [(start_X+end_X)/2; (start_Y+end_Y)/2];
N_wi = zeros(4,n);
r_w = [start_X; end_X;end_Y; end_Y+w_y];
l_w = [start_X; end_X;start_Y-w_y; start_Y];
d_w = [end_X; end_X+w_x ;start_Y; end_Y];
u_w = [start_X-w_x; start_X; start_Y; end_Y];
for i = 1:n
c_r = 0; % right
for j = max(1,r_w(1,i)) : r_w(2,i)
for k = max(1,r_w(3,i)) : r_w(4,i)
if (BW(j,k)== 0)
c_r = 1;
end
end
end
if (c_r == 1)
N_wi(1,i) = 1;
end
c_l = 0; % left
for j = max(1,l_w(1,i)) : l_w(2,i)
for k = max(1,l_w(3,i)) : l_w(4,i)
if (BW(j,k)== 0)
c_l = 1;
end
end
end
if (c_l == 1)
N_wi(2,i) = 1;
end
c_u = 0; % up
for j = max(1,u_w(1,i)) : u_w(2,i)
for k = max(1,u_w(3,i)) : u_w(4,i)
if (BW(j,k)== 0)
c_u = 1;
end
end
end
if (c_u == 1)
N_wi(3,i) = 1;
end
c_d = 0; % down
for j = max(1,d_w(1,i)) : d_w(2,i)
for k = max(1,d_w(3,i)) : d_w(4,i)
if (BW(j,k)== 0)
c_d = 1;
end
end
end
if (c_d == 1)
N_wi(4,i) = 1;
end
end
%T = [N_wi(4,:);N_wi(3,:);N_wi(2,:);N_wi(1,:)];
N_wi = N_wi';
N_m = [N_m(2,:); N_m(1,:)];
I = comp2mesh(N_m, N_wi, matrix_index, centers, radii);