opencv-ffi-fast 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/Gemfile +7 -0
- data/README.md +75 -0
- data/Rakefile +22 -0
- data/ext/Rakefile +13 -0
- data/ext/fast/.gitignore +4 -0
- data/ext/fast/LICENSE +30 -0
- data/ext/fast/README +43 -0
- data/ext/fast/fast.c +71 -0
- data/ext/fast/fast.h +31 -0
- data/ext/fast/fast_10.c +4666 -0
- data/ext/fast/fast_11.c +3910 -0
- data/ext/fast/fast_12.c +3134 -0
- data/ext/fast/fast_9.c +5910 -0
- data/ext/fast/mkrf_conf.rb +6 -0
- data/ext/fast/nonmax.c +117 -0
- data/ext/mkrf-monkey.rb +85 -0
- data/ext/mkrf-rakehelper-monkey.rb +52 -0
- data/ext/mkrf_conf.rb +3 -0
- data/lib/opencv-ffi-fast.rb +1 -0
- data/lib/opencv-ffi-fast/fast.rb +113 -0
- data/lib/opencv-ffi-fast/version.rb +5 -0
- data/opencv-ffi-fast.gemspec +25 -0
- data/test/test_ext.rb +50 -0
- data/test/test_wrapper.rb +35 -0
- metadata +112 -0
data/ext/fast/fast_12.c
ADDED
|
@@ -0,0 +1,3134 @@
|
|
|
1
|
+
/*This is mechanically generated code*/
|
|
2
|
+
#include <stdlib.h>
|
|
3
|
+
|
|
4
|
+
typedef struct { int x, y; } xy;
|
|
5
|
+
typedef unsigned char byte;
|
|
6
|
+
|
|
7
|
+
int fast12_corner_score(const byte* p, const int pixel[], int bstart)
|
|
8
|
+
{
|
|
9
|
+
int bmin = bstart;
|
|
10
|
+
int bmax = 255;
|
|
11
|
+
int b = (bmax + bmin)/2;
|
|
12
|
+
|
|
13
|
+
/*Compute the score using binary search*/
|
|
14
|
+
for(;;)
|
|
15
|
+
{
|
|
16
|
+
int cb = *p + b;
|
|
17
|
+
int c_b= *p - b;
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
if( p[pixel[0]] > cb)
|
|
21
|
+
if( p[pixel[1]] > cb)
|
|
22
|
+
if( p[pixel[2]] > cb)
|
|
23
|
+
if( p[pixel[3]] > cb)
|
|
24
|
+
if( p[pixel[4]] > cb)
|
|
25
|
+
if( p[pixel[5]] > cb)
|
|
26
|
+
if( p[pixel[6]] > cb)
|
|
27
|
+
if( p[pixel[7]] > cb)
|
|
28
|
+
if( p[pixel[8]] > cb)
|
|
29
|
+
if( p[pixel[9]] > cb)
|
|
30
|
+
if( p[pixel[10]] > cb)
|
|
31
|
+
if( p[pixel[11]] > cb)
|
|
32
|
+
goto is_a_corner;
|
|
33
|
+
else
|
|
34
|
+
if( p[pixel[15]] > cb)
|
|
35
|
+
goto is_a_corner;
|
|
36
|
+
else
|
|
37
|
+
goto is_not_a_corner;
|
|
38
|
+
else
|
|
39
|
+
if( p[pixel[14]] > cb)
|
|
40
|
+
if( p[pixel[15]] > cb)
|
|
41
|
+
goto is_a_corner;
|
|
42
|
+
else
|
|
43
|
+
goto is_not_a_corner;
|
|
44
|
+
else
|
|
45
|
+
goto is_not_a_corner;
|
|
46
|
+
else
|
|
47
|
+
if( p[pixel[13]] > cb)
|
|
48
|
+
if( p[pixel[14]] > cb)
|
|
49
|
+
if( p[pixel[15]] > cb)
|
|
50
|
+
goto is_a_corner;
|
|
51
|
+
else
|
|
52
|
+
goto is_not_a_corner;
|
|
53
|
+
else
|
|
54
|
+
goto is_not_a_corner;
|
|
55
|
+
else
|
|
56
|
+
goto is_not_a_corner;
|
|
57
|
+
else
|
|
58
|
+
if( p[pixel[12]] > cb)
|
|
59
|
+
if( p[pixel[13]] > cb)
|
|
60
|
+
if( p[pixel[14]] > cb)
|
|
61
|
+
if( p[pixel[15]] > cb)
|
|
62
|
+
goto is_a_corner;
|
|
63
|
+
else
|
|
64
|
+
goto is_not_a_corner;
|
|
65
|
+
else
|
|
66
|
+
goto is_not_a_corner;
|
|
67
|
+
else
|
|
68
|
+
goto is_not_a_corner;
|
|
69
|
+
else
|
|
70
|
+
goto is_not_a_corner;
|
|
71
|
+
else
|
|
72
|
+
if( p[pixel[11]] > cb)
|
|
73
|
+
if( p[pixel[12]] > cb)
|
|
74
|
+
if( p[pixel[13]] > cb)
|
|
75
|
+
if( p[pixel[14]] > cb)
|
|
76
|
+
if( p[pixel[15]] > cb)
|
|
77
|
+
goto is_a_corner;
|
|
78
|
+
else
|
|
79
|
+
goto is_not_a_corner;
|
|
80
|
+
else
|
|
81
|
+
goto is_not_a_corner;
|
|
82
|
+
else
|
|
83
|
+
goto is_not_a_corner;
|
|
84
|
+
else
|
|
85
|
+
goto is_not_a_corner;
|
|
86
|
+
else
|
|
87
|
+
goto is_not_a_corner;
|
|
88
|
+
else
|
|
89
|
+
if( p[pixel[10]] > cb)
|
|
90
|
+
if( p[pixel[11]] > cb)
|
|
91
|
+
if( p[pixel[12]] > cb)
|
|
92
|
+
if( p[pixel[13]] > cb)
|
|
93
|
+
if( p[pixel[14]] > cb)
|
|
94
|
+
if( p[pixel[15]] > cb)
|
|
95
|
+
goto is_a_corner;
|
|
96
|
+
else
|
|
97
|
+
goto is_not_a_corner;
|
|
98
|
+
else
|
|
99
|
+
goto is_not_a_corner;
|
|
100
|
+
else
|
|
101
|
+
goto is_not_a_corner;
|
|
102
|
+
else
|
|
103
|
+
goto is_not_a_corner;
|
|
104
|
+
else
|
|
105
|
+
goto is_not_a_corner;
|
|
106
|
+
else
|
|
107
|
+
goto is_not_a_corner;
|
|
108
|
+
else
|
|
109
|
+
if( p[pixel[9]] > cb)
|
|
110
|
+
if( p[pixel[10]] > cb)
|
|
111
|
+
if( p[pixel[11]] > cb)
|
|
112
|
+
if( p[pixel[12]] > cb)
|
|
113
|
+
if( p[pixel[13]] > cb)
|
|
114
|
+
if( p[pixel[14]] > cb)
|
|
115
|
+
if( p[pixel[15]] > cb)
|
|
116
|
+
goto is_a_corner;
|
|
117
|
+
else
|
|
118
|
+
goto is_not_a_corner;
|
|
119
|
+
else
|
|
120
|
+
goto is_not_a_corner;
|
|
121
|
+
else
|
|
122
|
+
goto is_not_a_corner;
|
|
123
|
+
else
|
|
124
|
+
goto is_not_a_corner;
|
|
125
|
+
else
|
|
126
|
+
goto is_not_a_corner;
|
|
127
|
+
else
|
|
128
|
+
goto is_not_a_corner;
|
|
129
|
+
else
|
|
130
|
+
goto is_not_a_corner;
|
|
131
|
+
else if( p[pixel[4]] < c_b)
|
|
132
|
+
if( p[pixel[8]] > cb)
|
|
133
|
+
if( p[pixel[9]] > cb)
|
|
134
|
+
if( p[pixel[10]] > cb)
|
|
135
|
+
if( p[pixel[11]] > cb)
|
|
136
|
+
if( p[pixel[12]] > cb)
|
|
137
|
+
if( p[pixel[13]] > cb)
|
|
138
|
+
if( p[pixel[14]] > cb)
|
|
139
|
+
if( p[pixel[15]] > cb)
|
|
140
|
+
goto is_a_corner;
|
|
141
|
+
else
|
|
142
|
+
goto is_not_a_corner;
|
|
143
|
+
else
|
|
144
|
+
goto is_not_a_corner;
|
|
145
|
+
else
|
|
146
|
+
goto is_not_a_corner;
|
|
147
|
+
else
|
|
148
|
+
goto is_not_a_corner;
|
|
149
|
+
else
|
|
150
|
+
goto is_not_a_corner;
|
|
151
|
+
else
|
|
152
|
+
goto is_not_a_corner;
|
|
153
|
+
else
|
|
154
|
+
goto is_not_a_corner;
|
|
155
|
+
else if( p[pixel[8]] < c_b)
|
|
156
|
+
if( p[pixel[5]] < c_b)
|
|
157
|
+
if( p[pixel[6]] < c_b)
|
|
158
|
+
if( p[pixel[7]] < c_b)
|
|
159
|
+
if( p[pixel[9]] < c_b)
|
|
160
|
+
if( p[pixel[10]] < c_b)
|
|
161
|
+
if( p[pixel[11]] < c_b)
|
|
162
|
+
if( p[pixel[12]] < c_b)
|
|
163
|
+
if( p[pixel[13]] < c_b)
|
|
164
|
+
if( p[pixel[14]] < c_b)
|
|
165
|
+
if( p[pixel[15]] < c_b)
|
|
166
|
+
goto is_a_corner;
|
|
167
|
+
else
|
|
168
|
+
goto is_not_a_corner;
|
|
169
|
+
else
|
|
170
|
+
goto is_not_a_corner;
|
|
171
|
+
else
|
|
172
|
+
goto is_not_a_corner;
|
|
173
|
+
else
|
|
174
|
+
goto is_not_a_corner;
|
|
175
|
+
else
|
|
176
|
+
goto is_not_a_corner;
|
|
177
|
+
else
|
|
178
|
+
goto is_not_a_corner;
|
|
179
|
+
else
|
|
180
|
+
goto is_not_a_corner;
|
|
181
|
+
else
|
|
182
|
+
goto is_not_a_corner;
|
|
183
|
+
else
|
|
184
|
+
goto is_not_a_corner;
|
|
185
|
+
else
|
|
186
|
+
goto is_not_a_corner;
|
|
187
|
+
else
|
|
188
|
+
goto is_not_a_corner;
|
|
189
|
+
else
|
|
190
|
+
if( p[pixel[8]] > cb)
|
|
191
|
+
if( p[pixel[9]] > cb)
|
|
192
|
+
if( p[pixel[10]] > cb)
|
|
193
|
+
if( p[pixel[11]] > cb)
|
|
194
|
+
if( p[pixel[12]] > cb)
|
|
195
|
+
if( p[pixel[13]] > cb)
|
|
196
|
+
if( p[pixel[14]] > cb)
|
|
197
|
+
if( p[pixel[15]] > cb)
|
|
198
|
+
goto is_a_corner;
|
|
199
|
+
else
|
|
200
|
+
goto is_not_a_corner;
|
|
201
|
+
else
|
|
202
|
+
goto is_not_a_corner;
|
|
203
|
+
else
|
|
204
|
+
goto is_not_a_corner;
|
|
205
|
+
else
|
|
206
|
+
goto is_not_a_corner;
|
|
207
|
+
else
|
|
208
|
+
goto is_not_a_corner;
|
|
209
|
+
else
|
|
210
|
+
goto is_not_a_corner;
|
|
211
|
+
else
|
|
212
|
+
goto is_not_a_corner;
|
|
213
|
+
else
|
|
214
|
+
goto is_not_a_corner;
|
|
215
|
+
else if( p[pixel[3]] < c_b)
|
|
216
|
+
if( p[pixel[15]] > cb)
|
|
217
|
+
if( p[pixel[7]] > cb)
|
|
218
|
+
if( p[pixel[8]] > cb)
|
|
219
|
+
if( p[pixel[9]] > cb)
|
|
220
|
+
if( p[pixel[10]] > cb)
|
|
221
|
+
if( p[pixel[11]] > cb)
|
|
222
|
+
if( p[pixel[12]] > cb)
|
|
223
|
+
if( p[pixel[13]] > cb)
|
|
224
|
+
if( p[pixel[14]] > cb)
|
|
225
|
+
goto is_a_corner;
|
|
226
|
+
else
|
|
227
|
+
goto is_not_a_corner;
|
|
228
|
+
else
|
|
229
|
+
goto is_not_a_corner;
|
|
230
|
+
else
|
|
231
|
+
goto is_not_a_corner;
|
|
232
|
+
else
|
|
233
|
+
goto is_not_a_corner;
|
|
234
|
+
else
|
|
235
|
+
goto is_not_a_corner;
|
|
236
|
+
else
|
|
237
|
+
goto is_not_a_corner;
|
|
238
|
+
else
|
|
239
|
+
goto is_not_a_corner;
|
|
240
|
+
else if( p[pixel[7]] < c_b)
|
|
241
|
+
if( p[pixel[4]] < c_b)
|
|
242
|
+
if( p[pixel[5]] < c_b)
|
|
243
|
+
if( p[pixel[6]] < c_b)
|
|
244
|
+
if( p[pixel[8]] < c_b)
|
|
245
|
+
if( p[pixel[9]] < c_b)
|
|
246
|
+
if( p[pixel[10]] < c_b)
|
|
247
|
+
if( p[pixel[11]] < c_b)
|
|
248
|
+
if( p[pixel[12]] < c_b)
|
|
249
|
+
if( p[pixel[13]] < c_b)
|
|
250
|
+
if( p[pixel[14]] < c_b)
|
|
251
|
+
goto is_a_corner;
|
|
252
|
+
else
|
|
253
|
+
goto is_not_a_corner;
|
|
254
|
+
else
|
|
255
|
+
goto is_not_a_corner;
|
|
256
|
+
else
|
|
257
|
+
goto is_not_a_corner;
|
|
258
|
+
else
|
|
259
|
+
goto is_not_a_corner;
|
|
260
|
+
else
|
|
261
|
+
goto is_not_a_corner;
|
|
262
|
+
else
|
|
263
|
+
goto is_not_a_corner;
|
|
264
|
+
else
|
|
265
|
+
goto is_not_a_corner;
|
|
266
|
+
else
|
|
267
|
+
goto is_not_a_corner;
|
|
268
|
+
else
|
|
269
|
+
goto is_not_a_corner;
|
|
270
|
+
else
|
|
271
|
+
goto is_not_a_corner;
|
|
272
|
+
else
|
|
273
|
+
goto is_not_a_corner;
|
|
274
|
+
else
|
|
275
|
+
if( p[pixel[4]] < c_b)
|
|
276
|
+
if( p[pixel[5]] < c_b)
|
|
277
|
+
if( p[pixel[6]] < c_b)
|
|
278
|
+
if( p[pixel[7]] < c_b)
|
|
279
|
+
if( p[pixel[8]] < c_b)
|
|
280
|
+
if( p[pixel[9]] < c_b)
|
|
281
|
+
if( p[pixel[10]] < c_b)
|
|
282
|
+
if( p[pixel[11]] < c_b)
|
|
283
|
+
if( p[pixel[12]] < c_b)
|
|
284
|
+
if( p[pixel[13]] < c_b)
|
|
285
|
+
if( p[pixel[14]] < c_b)
|
|
286
|
+
goto is_a_corner;
|
|
287
|
+
else
|
|
288
|
+
goto is_not_a_corner;
|
|
289
|
+
else
|
|
290
|
+
goto is_not_a_corner;
|
|
291
|
+
else
|
|
292
|
+
goto is_not_a_corner;
|
|
293
|
+
else
|
|
294
|
+
goto is_not_a_corner;
|
|
295
|
+
else
|
|
296
|
+
goto is_not_a_corner;
|
|
297
|
+
else
|
|
298
|
+
goto is_not_a_corner;
|
|
299
|
+
else
|
|
300
|
+
goto is_not_a_corner;
|
|
301
|
+
else
|
|
302
|
+
goto is_not_a_corner;
|
|
303
|
+
else
|
|
304
|
+
goto is_not_a_corner;
|
|
305
|
+
else
|
|
306
|
+
goto is_not_a_corner;
|
|
307
|
+
else
|
|
308
|
+
goto is_not_a_corner;
|
|
309
|
+
else
|
|
310
|
+
if( p[pixel[7]] > cb)
|
|
311
|
+
if( p[pixel[8]] > cb)
|
|
312
|
+
if( p[pixel[9]] > cb)
|
|
313
|
+
if( p[pixel[10]] > cb)
|
|
314
|
+
if( p[pixel[11]] > cb)
|
|
315
|
+
if( p[pixel[12]] > cb)
|
|
316
|
+
if( p[pixel[13]] > cb)
|
|
317
|
+
if( p[pixel[14]] > cb)
|
|
318
|
+
if( p[pixel[15]] > cb)
|
|
319
|
+
goto is_a_corner;
|
|
320
|
+
else
|
|
321
|
+
goto is_not_a_corner;
|
|
322
|
+
else
|
|
323
|
+
goto is_not_a_corner;
|
|
324
|
+
else
|
|
325
|
+
goto is_not_a_corner;
|
|
326
|
+
else
|
|
327
|
+
goto is_not_a_corner;
|
|
328
|
+
else
|
|
329
|
+
goto is_not_a_corner;
|
|
330
|
+
else
|
|
331
|
+
goto is_not_a_corner;
|
|
332
|
+
else
|
|
333
|
+
goto is_not_a_corner;
|
|
334
|
+
else
|
|
335
|
+
goto is_not_a_corner;
|
|
336
|
+
else if( p[pixel[7]] < c_b)
|
|
337
|
+
if( p[pixel[4]] < c_b)
|
|
338
|
+
if( p[pixel[5]] < c_b)
|
|
339
|
+
if( p[pixel[6]] < c_b)
|
|
340
|
+
if( p[pixel[8]] < c_b)
|
|
341
|
+
if( p[pixel[9]] < c_b)
|
|
342
|
+
if( p[pixel[10]] < c_b)
|
|
343
|
+
if( p[pixel[11]] < c_b)
|
|
344
|
+
if( p[pixel[12]] < c_b)
|
|
345
|
+
if( p[pixel[13]] < c_b)
|
|
346
|
+
if( p[pixel[14]] < c_b)
|
|
347
|
+
if( p[pixel[15]] < c_b)
|
|
348
|
+
goto is_a_corner;
|
|
349
|
+
else
|
|
350
|
+
goto is_not_a_corner;
|
|
351
|
+
else
|
|
352
|
+
goto is_not_a_corner;
|
|
353
|
+
else
|
|
354
|
+
goto is_not_a_corner;
|
|
355
|
+
else
|
|
356
|
+
goto is_not_a_corner;
|
|
357
|
+
else
|
|
358
|
+
goto is_not_a_corner;
|
|
359
|
+
else
|
|
360
|
+
goto is_not_a_corner;
|
|
361
|
+
else
|
|
362
|
+
goto is_not_a_corner;
|
|
363
|
+
else
|
|
364
|
+
goto is_not_a_corner;
|
|
365
|
+
else
|
|
366
|
+
goto is_not_a_corner;
|
|
367
|
+
else
|
|
368
|
+
goto is_not_a_corner;
|
|
369
|
+
else
|
|
370
|
+
goto is_not_a_corner;
|
|
371
|
+
else
|
|
372
|
+
goto is_not_a_corner;
|
|
373
|
+
else if( p[pixel[2]] < c_b)
|
|
374
|
+
if( p[pixel[6]] > cb)
|
|
375
|
+
if( p[pixel[7]] > cb)
|
|
376
|
+
if( p[pixel[8]] > cb)
|
|
377
|
+
if( p[pixel[9]] > cb)
|
|
378
|
+
if( p[pixel[10]] > cb)
|
|
379
|
+
if( p[pixel[11]] > cb)
|
|
380
|
+
if( p[pixel[12]] > cb)
|
|
381
|
+
if( p[pixel[13]] > cb)
|
|
382
|
+
if( p[pixel[14]] > cb)
|
|
383
|
+
if( p[pixel[15]] > cb)
|
|
384
|
+
goto is_a_corner;
|
|
385
|
+
else
|
|
386
|
+
if( p[pixel[3]] > cb)
|
|
387
|
+
if( p[pixel[4]] > cb)
|
|
388
|
+
if( p[pixel[5]] > cb)
|
|
389
|
+
goto is_a_corner;
|
|
390
|
+
else
|
|
391
|
+
goto is_not_a_corner;
|
|
392
|
+
else
|
|
393
|
+
goto is_not_a_corner;
|
|
394
|
+
else
|
|
395
|
+
goto is_not_a_corner;
|
|
396
|
+
else
|
|
397
|
+
goto is_not_a_corner;
|
|
398
|
+
else
|
|
399
|
+
goto is_not_a_corner;
|
|
400
|
+
else
|
|
401
|
+
goto is_not_a_corner;
|
|
402
|
+
else
|
|
403
|
+
goto is_not_a_corner;
|
|
404
|
+
else
|
|
405
|
+
goto is_not_a_corner;
|
|
406
|
+
else
|
|
407
|
+
goto is_not_a_corner;
|
|
408
|
+
else
|
|
409
|
+
goto is_not_a_corner;
|
|
410
|
+
else
|
|
411
|
+
goto is_not_a_corner;
|
|
412
|
+
else if( p[pixel[6]] < c_b)
|
|
413
|
+
if( p[pixel[4]] < c_b)
|
|
414
|
+
if( p[pixel[5]] < c_b)
|
|
415
|
+
if( p[pixel[7]] < c_b)
|
|
416
|
+
if( p[pixel[8]] < c_b)
|
|
417
|
+
if( p[pixel[9]] < c_b)
|
|
418
|
+
if( p[pixel[10]] < c_b)
|
|
419
|
+
if( p[pixel[11]] < c_b)
|
|
420
|
+
if( p[pixel[12]] < c_b)
|
|
421
|
+
if( p[pixel[13]] < c_b)
|
|
422
|
+
if( p[pixel[3]] < c_b)
|
|
423
|
+
goto is_a_corner;
|
|
424
|
+
else
|
|
425
|
+
if( p[pixel[14]] < c_b)
|
|
426
|
+
if( p[pixel[15]] < c_b)
|
|
427
|
+
goto is_a_corner;
|
|
428
|
+
else
|
|
429
|
+
goto is_not_a_corner;
|
|
430
|
+
else
|
|
431
|
+
goto is_not_a_corner;
|
|
432
|
+
else
|
|
433
|
+
goto is_not_a_corner;
|
|
434
|
+
else
|
|
435
|
+
goto is_not_a_corner;
|
|
436
|
+
else
|
|
437
|
+
goto is_not_a_corner;
|
|
438
|
+
else
|
|
439
|
+
goto is_not_a_corner;
|
|
440
|
+
else
|
|
441
|
+
goto is_not_a_corner;
|
|
442
|
+
else
|
|
443
|
+
goto is_not_a_corner;
|
|
444
|
+
else
|
|
445
|
+
goto is_not_a_corner;
|
|
446
|
+
else
|
|
447
|
+
goto is_not_a_corner;
|
|
448
|
+
else
|
|
449
|
+
goto is_not_a_corner;
|
|
450
|
+
else
|
|
451
|
+
goto is_not_a_corner;
|
|
452
|
+
else
|
|
453
|
+
if( p[pixel[6]] > cb)
|
|
454
|
+
if( p[pixel[7]] > cb)
|
|
455
|
+
if( p[pixel[8]] > cb)
|
|
456
|
+
if( p[pixel[9]] > cb)
|
|
457
|
+
if( p[pixel[10]] > cb)
|
|
458
|
+
if( p[pixel[11]] > cb)
|
|
459
|
+
if( p[pixel[12]] > cb)
|
|
460
|
+
if( p[pixel[13]] > cb)
|
|
461
|
+
if( p[pixel[14]] > cb)
|
|
462
|
+
if( p[pixel[15]] > cb)
|
|
463
|
+
goto is_a_corner;
|
|
464
|
+
else
|
|
465
|
+
if( p[pixel[3]] > cb)
|
|
466
|
+
if( p[pixel[4]] > cb)
|
|
467
|
+
if( p[pixel[5]] > cb)
|
|
468
|
+
goto is_a_corner;
|
|
469
|
+
else
|
|
470
|
+
goto is_not_a_corner;
|
|
471
|
+
else
|
|
472
|
+
goto is_not_a_corner;
|
|
473
|
+
else
|
|
474
|
+
goto is_not_a_corner;
|
|
475
|
+
else
|
|
476
|
+
goto is_not_a_corner;
|
|
477
|
+
else
|
|
478
|
+
goto is_not_a_corner;
|
|
479
|
+
else
|
|
480
|
+
goto is_not_a_corner;
|
|
481
|
+
else
|
|
482
|
+
goto is_not_a_corner;
|
|
483
|
+
else
|
|
484
|
+
goto is_not_a_corner;
|
|
485
|
+
else
|
|
486
|
+
goto is_not_a_corner;
|
|
487
|
+
else
|
|
488
|
+
goto is_not_a_corner;
|
|
489
|
+
else
|
|
490
|
+
goto is_not_a_corner;
|
|
491
|
+
else if( p[pixel[6]] < c_b)
|
|
492
|
+
if( p[pixel[4]] < c_b)
|
|
493
|
+
if( p[pixel[5]] < c_b)
|
|
494
|
+
if( p[pixel[7]] < c_b)
|
|
495
|
+
if( p[pixel[8]] < c_b)
|
|
496
|
+
if( p[pixel[9]] < c_b)
|
|
497
|
+
if( p[pixel[10]] < c_b)
|
|
498
|
+
if( p[pixel[11]] < c_b)
|
|
499
|
+
if( p[pixel[12]] < c_b)
|
|
500
|
+
if( p[pixel[13]] < c_b)
|
|
501
|
+
if( p[pixel[14]] < c_b)
|
|
502
|
+
if( p[pixel[3]] < c_b)
|
|
503
|
+
goto is_a_corner;
|
|
504
|
+
else
|
|
505
|
+
if( p[pixel[15]] < c_b)
|
|
506
|
+
goto is_a_corner;
|
|
507
|
+
else
|
|
508
|
+
goto is_not_a_corner;
|
|
509
|
+
else
|
|
510
|
+
goto is_not_a_corner;
|
|
511
|
+
else
|
|
512
|
+
goto is_not_a_corner;
|
|
513
|
+
else
|
|
514
|
+
goto is_not_a_corner;
|
|
515
|
+
else
|
|
516
|
+
goto is_not_a_corner;
|
|
517
|
+
else
|
|
518
|
+
goto is_not_a_corner;
|
|
519
|
+
else
|
|
520
|
+
goto is_not_a_corner;
|
|
521
|
+
else
|
|
522
|
+
goto is_not_a_corner;
|
|
523
|
+
else
|
|
524
|
+
goto is_not_a_corner;
|
|
525
|
+
else
|
|
526
|
+
goto is_not_a_corner;
|
|
527
|
+
else
|
|
528
|
+
goto is_not_a_corner;
|
|
529
|
+
else
|
|
530
|
+
goto is_not_a_corner;
|
|
531
|
+
else if( p[pixel[1]] < c_b)
|
|
532
|
+
if( p[pixel[5]] > cb)
|
|
533
|
+
if( p[pixel[6]] > cb)
|
|
534
|
+
if( p[pixel[7]] > cb)
|
|
535
|
+
if( p[pixel[8]] > cb)
|
|
536
|
+
if( p[pixel[9]] > cb)
|
|
537
|
+
if( p[pixel[10]] > cb)
|
|
538
|
+
if( p[pixel[11]] > cb)
|
|
539
|
+
if( p[pixel[12]] > cb)
|
|
540
|
+
if( p[pixel[13]] > cb)
|
|
541
|
+
if( p[pixel[14]] > cb)
|
|
542
|
+
if( p[pixel[15]] > cb)
|
|
543
|
+
goto is_a_corner;
|
|
544
|
+
else
|
|
545
|
+
if( p[pixel[3]] > cb)
|
|
546
|
+
if( p[pixel[4]] > cb)
|
|
547
|
+
goto is_a_corner;
|
|
548
|
+
else
|
|
549
|
+
goto is_not_a_corner;
|
|
550
|
+
else
|
|
551
|
+
goto is_not_a_corner;
|
|
552
|
+
else
|
|
553
|
+
if( p[pixel[2]] > cb)
|
|
554
|
+
if( p[pixel[3]] > cb)
|
|
555
|
+
if( p[pixel[4]] > cb)
|
|
556
|
+
goto is_a_corner;
|
|
557
|
+
else
|
|
558
|
+
goto is_not_a_corner;
|
|
559
|
+
else
|
|
560
|
+
goto is_not_a_corner;
|
|
561
|
+
else
|
|
562
|
+
goto is_not_a_corner;
|
|
563
|
+
else
|
|
564
|
+
goto is_not_a_corner;
|
|
565
|
+
else
|
|
566
|
+
goto is_not_a_corner;
|
|
567
|
+
else
|
|
568
|
+
goto is_not_a_corner;
|
|
569
|
+
else
|
|
570
|
+
goto is_not_a_corner;
|
|
571
|
+
else
|
|
572
|
+
goto is_not_a_corner;
|
|
573
|
+
else
|
|
574
|
+
goto is_not_a_corner;
|
|
575
|
+
else
|
|
576
|
+
goto is_not_a_corner;
|
|
577
|
+
else
|
|
578
|
+
goto is_not_a_corner;
|
|
579
|
+
else if( p[pixel[5]] < c_b)
|
|
580
|
+
if( p[pixel[4]] < c_b)
|
|
581
|
+
if( p[pixel[6]] < c_b)
|
|
582
|
+
if( p[pixel[7]] < c_b)
|
|
583
|
+
if( p[pixel[8]] < c_b)
|
|
584
|
+
if( p[pixel[9]] < c_b)
|
|
585
|
+
if( p[pixel[10]] < c_b)
|
|
586
|
+
if( p[pixel[11]] < c_b)
|
|
587
|
+
if( p[pixel[12]] < c_b)
|
|
588
|
+
if( p[pixel[3]] < c_b)
|
|
589
|
+
if( p[pixel[2]] < c_b)
|
|
590
|
+
goto is_a_corner;
|
|
591
|
+
else
|
|
592
|
+
if( p[pixel[13]] < c_b)
|
|
593
|
+
if( p[pixel[14]] < c_b)
|
|
594
|
+
goto is_a_corner;
|
|
595
|
+
else
|
|
596
|
+
goto is_not_a_corner;
|
|
597
|
+
else
|
|
598
|
+
goto is_not_a_corner;
|
|
599
|
+
else
|
|
600
|
+
if( p[pixel[13]] < c_b)
|
|
601
|
+
if( p[pixel[14]] < c_b)
|
|
602
|
+
if( p[pixel[15]] < c_b)
|
|
603
|
+
goto is_a_corner;
|
|
604
|
+
else
|
|
605
|
+
goto is_not_a_corner;
|
|
606
|
+
else
|
|
607
|
+
goto is_not_a_corner;
|
|
608
|
+
else
|
|
609
|
+
goto is_not_a_corner;
|
|
610
|
+
else
|
|
611
|
+
goto is_not_a_corner;
|
|
612
|
+
else
|
|
613
|
+
goto is_not_a_corner;
|
|
614
|
+
else
|
|
615
|
+
goto is_not_a_corner;
|
|
616
|
+
else
|
|
617
|
+
goto is_not_a_corner;
|
|
618
|
+
else
|
|
619
|
+
goto is_not_a_corner;
|
|
620
|
+
else
|
|
621
|
+
goto is_not_a_corner;
|
|
622
|
+
else
|
|
623
|
+
goto is_not_a_corner;
|
|
624
|
+
else
|
|
625
|
+
goto is_not_a_corner;
|
|
626
|
+
else
|
|
627
|
+
goto is_not_a_corner;
|
|
628
|
+
else
|
|
629
|
+
if( p[pixel[5]] > cb)
|
|
630
|
+
if( p[pixel[6]] > cb)
|
|
631
|
+
if( p[pixel[7]] > cb)
|
|
632
|
+
if( p[pixel[8]] > cb)
|
|
633
|
+
if( p[pixel[9]] > cb)
|
|
634
|
+
if( p[pixel[10]] > cb)
|
|
635
|
+
if( p[pixel[11]] > cb)
|
|
636
|
+
if( p[pixel[12]] > cb)
|
|
637
|
+
if( p[pixel[13]] > cb)
|
|
638
|
+
if( p[pixel[14]] > cb)
|
|
639
|
+
if( p[pixel[15]] > cb)
|
|
640
|
+
goto is_a_corner;
|
|
641
|
+
else
|
|
642
|
+
if( p[pixel[3]] > cb)
|
|
643
|
+
if( p[pixel[4]] > cb)
|
|
644
|
+
goto is_a_corner;
|
|
645
|
+
else
|
|
646
|
+
goto is_not_a_corner;
|
|
647
|
+
else
|
|
648
|
+
goto is_not_a_corner;
|
|
649
|
+
else
|
|
650
|
+
if( p[pixel[2]] > cb)
|
|
651
|
+
if( p[pixel[3]] > cb)
|
|
652
|
+
if( p[pixel[4]] > cb)
|
|
653
|
+
goto is_a_corner;
|
|
654
|
+
else
|
|
655
|
+
goto is_not_a_corner;
|
|
656
|
+
else
|
|
657
|
+
goto is_not_a_corner;
|
|
658
|
+
else
|
|
659
|
+
goto is_not_a_corner;
|
|
660
|
+
else
|
|
661
|
+
goto is_not_a_corner;
|
|
662
|
+
else
|
|
663
|
+
goto is_not_a_corner;
|
|
664
|
+
else
|
|
665
|
+
goto is_not_a_corner;
|
|
666
|
+
else
|
|
667
|
+
goto is_not_a_corner;
|
|
668
|
+
else
|
|
669
|
+
goto is_not_a_corner;
|
|
670
|
+
else
|
|
671
|
+
goto is_not_a_corner;
|
|
672
|
+
else
|
|
673
|
+
goto is_not_a_corner;
|
|
674
|
+
else
|
|
675
|
+
goto is_not_a_corner;
|
|
676
|
+
else if( p[pixel[5]] < c_b)
|
|
677
|
+
if( p[pixel[4]] < c_b)
|
|
678
|
+
if( p[pixel[6]] < c_b)
|
|
679
|
+
if( p[pixel[7]] < c_b)
|
|
680
|
+
if( p[pixel[8]] < c_b)
|
|
681
|
+
if( p[pixel[9]] < c_b)
|
|
682
|
+
if( p[pixel[10]] < c_b)
|
|
683
|
+
if( p[pixel[11]] < c_b)
|
|
684
|
+
if( p[pixel[12]] < c_b)
|
|
685
|
+
if( p[pixel[13]] < c_b)
|
|
686
|
+
if( p[pixel[3]] < c_b)
|
|
687
|
+
if( p[pixel[2]] < c_b)
|
|
688
|
+
goto is_a_corner;
|
|
689
|
+
else
|
|
690
|
+
if( p[pixel[14]] < c_b)
|
|
691
|
+
goto is_a_corner;
|
|
692
|
+
else
|
|
693
|
+
goto is_not_a_corner;
|
|
694
|
+
else
|
|
695
|
+
if( p[pixel[14]] < c_b)
|
|
696
|
+
if( p[pixel[15]] < c_b)
|
|
697
|
+
goto is_a_corner;
|
|
698
|
+
else
|
|
699
|
+
goto is_not_a_corner;
|
|
700
|
+
else
|
|
701
|
+
goto is_not_a_corner;
|
|
702
|
+
else
|
|
703
|
+
goto is_not_a_corner;
|
|
704
|
+
else
|
|
705
|
+
goto is_not_a_corner;
|
|
706
|
+
else
|
|
707
|
+
goto is_not_a_corner;
|
|
708
|
+
else
|
|
709
|
+
goto is_not_a_corner;
|
|
710
|
+
else
|
|
711
|
+
goto is_not_a_corner;
|
|
712
|
+
else
|
|
713
|
+
goto is_not_a_corner;
|
|
714
|
+
else
|
|
715
|
+
goto is_not_a_corner;
|
|
716
|
+
else
|
|
717
|
+
goto is_not_a_corner;
|
|
718
|
+
else
|
|
719
|
+
goto is_not_a_corner;
|
|
720
|
+
else
|
|
721
|
+
goto is_not_a_corner;
|
|
722
|
+
else if( p[pixel[0]] < c_b)
|
|
723
|
+
if( p[pixel[1]] > cb)
|
|
724
|
+
if( p[pixel[5]] > cb)
|
|
725
|
+
if( p[pixel[4]] > cb)
|
|
726
|
+
if( p[pixel[6]] > cb)
|
|
727
|
+
if( p[pixel[7]] > cb)
|
|
728
|
+
if( p[pixel[8]] > cb)
|
|
729
|
+
if( p[pixel[9]] > cb)
|
|
730
|
+
if( p[pixel[10]] > cb)
|
|
731
|
+
if( p[pixel[11]] > cb)
|
|
732
|
+
if( p[pixel[12]] > cb)
|
|
733
|
+
if( p[pixel[3]] > cb)
|
|
734
|
+
if( p[pixel[2]] > cb)
|
|
735
|
+
goto is_a_corner;
|
|
736
|
+
else
|
|
737
|
+
if( p[pixel[13]] > cb)
|
|
738
|
+
if( p[pixel[14]] > cb)
|
|
739
|
+
goto is_a_corner;
|
|
740
|
+
else
|
|
741
|
+
goto is_not_a_corner;
|
|
742
|
+
else
|
|
743
|
+
goto is_not_a_corner;
|
|
744
|
+
else
|
|
745
|
+
if( p[pixel[13]] > cb)
|
|
746
|
+
if( p[pixel[14]] > cb)
|
|
747
|
+
if( p[pixel[15]] > cb)
|
|
748
|
+
goto is_a_corner;
|
|
749
|
+
else
|
|
750
|
+
goto is_not_a_corner;
|
|
751
|
+
else
|
|
752
|
+
goto is_not_a_corner;
|
|
753
|
+
else
|
|
754
|
+
goto is_not_a_corner;
|
|
755
|
+
else
|
|
756
|
+
goto is_not_a_corner;
|
|
757
|
+
else
|
|
758
|
+
goto is_not_a_corner;
|
|
759
|
+
else
|
|
760
|
+
goto is_not_a_corner;
|
|
761
|
+
else
|
|
762
|
+
goto is_not_a_corner;
|
|
763
|
+
else
|
|
764
|
+
goto is_not_a_corner;
|
|
765
|
+
else
|
|
766
|
+
goto is_not_a_corner;
|
|
767
|
+
else
|
|
768
|
+
goto is_not_a_corner;
|
|
769
|
+
else
|
|
770
|
+
goto is_not_a_corner;
|
|
771
|
+
else if( p[pixel[5]] < c_b)
|
|
772
|
+
if( p[pixel[6]] < c_b)
|
|
773
|
+
if( p[pixel[7]] < c_b)
|
|
774
|
+
if( p[pixel[8]] < c_b)
|
|
775
|
+
if( p[pixel[9]] < c_b)
|
|
776
|
+
if( p[pixel[10]] < c_b)
|
|
777
|
+
if( p[pixel[11]] < c_b)
|
|
778
|
+
if( p[pixel[12]] < c_b)
|
|
779
|
+
if( p[pixel[13]] < c_b)
|
|
780
|
+
if( p[pixel[14]] < c_b)
|
|
781
|
+
if( p[pixel[15]] < c_b)
|
|
782
|
+
goto is_a_corner;
|
|
783
|
+
else
|
|
784
|
+
if( p[pixel[3]] < c_b)
|
|
785
|
+
if( p[pixel[4]] < c_b)
|
|
786
|
+
goto is_a_corner;
|
|
787
|
+
else
|
|
788
|
+
goto is_not_a_corner;
|
|
789
|
+
else
|
|
790
|
+
goto is_not_a_corner;
|
|
791
|
+
else
|
|
792
|
+
if( p[pixel[2]] < c_b)
|
|
793
|
+
if( p[pixel[3]] < c_b)
|
|
794
|
+
if( p[pixel[4]] < c_b)
|
|
795
|
+
goto is_a_corner;
|
|
796
|
+
else
|
|
797
|
+
goto is_not_a_corner;
|
|
798
|
+
else
|
|
799
|
+
goto is_not_a_corner;
|
|
800
|
+
else
|
|
801
|
+
goto is_not_a_corner;
|
|
802
|
+
else
|
|
803
|
+
goto is_not_a_corner;
|
|
804
|
+
else
|
|
805
|
+
goto is_not_a_corner;
|
|
806
|
+
else
|
|
807
|
+
goto is_not_a_corner;
|
|
808
|
+
else
|
|
809
|
+
goto is_not_a_corner;
|
|
810
|
+
else
|
|
811
|
+
goto is_not_a_corner;
|
|
812
|
+
else
|
|
813
|
+
goto is_not_a_corner;
|
|
814
|
+
else
|
|
815
|
+
goto is_not_a_corner;
|
|
816
|
+
else
|
|
817
|
+
goto is_not_a_corner;
|
|
818
|
+
else
|
|
819
|
+
goto is_not_a_corner;
|
|
820
|
+
else if( p[pixel[1]] < c_b)
|
|
821
|
+
if( p[pixel[2]] > cb)
|
|
822
|
+
if( p[pixel[6]] > cb)
|
|
823
|
+
if( p[pixel[4]] > cb)
|
|
824
|
+
if( p[pixel[5]] > cb)
|
|
825
|
+
if( p[pixel[7]] > cb)
|
|
826
|
+
if( p[pixel[8]] > cb)
|
|
827
|
+
if( p[pixel[9]] > cb)
|
|
828
|
+
if( p[pixel[10]] > cb)
|
|
829
|
+
if( p[pixel[11]] > cb)
|
|
830
|
+
if( p[pixel[12]] > cb)
|
|
831
|
+
if( p[pixel[13]] > cb)
|
|
832
|
+
if( p[pixel[3]] > cb)
|
|
833
|
+
goto is_a_corner;
|
|
834
|
+
else
|
|
835
|
+
if( p[pixel[14]] > cb)
|
|
836
|
+
if( p[pixel[15]] > cb)
|
|
837
|
+
goto is_a_corner;
|
|
838
|
+
else
|
|
839
|
+
goto is_not_a_corner;
|
|
840
|
+
else
|
|
841
|
+
goto is_not_a_corner;
|
|
842
|
+
else
|
|
843
|
+
goto is_not_a_corner;
|
|
844
|
+
else
|
|
845
|
+
goto is_not_a_corner;
|
|
846
|
+
else
|
|
847
|
+
goto is_not_a_corner;
|
|
848
|
+
else
|
|
849
|
+
goto is_not_a_corner;
|
|
850
|
+
else
|
|
851
|
+
goto is_not_a_corner;
|
|
852
|
+
else
|
|
853
|
+
goto is_not_a_corner;
|
|
854
|
+
else
|
|
855
|
+
goto is_not_a_corner;
|
|
856
|
+
else
|
|
857
|
+
goto is_not_a_corner;
|
|
858
|
+
else
|
|
859
|
+
goto is_not_a_corner;
|
|
860
|
+
else if( p[pixel[6]] < c_b)
|
|
861
|
+
if( p[pixel[7]] < c_b)
|
|
862
|
+
if( p[pixel[8]] < c_b)
|
|
863
|
+
if( p[pixel[9]] < c_b)
|
|
864
|
+
if( p[pixel[10]] < c_b)
|
|
865
|
+
if( p[pixel[11]] < c_b)
|
|
866
|
+
if( p[pixel[12]] < c_b)
|
|
867
|
+
if( p[pixel[13]] < c_b)
|
|
868
|
+
if( p[pixel[14]] < c_b)
|
|
869
|
+
if( p[pixel[15]] < c_b)
|
|
870
|
+
goto is_a_corner;
|
|
871
|
+
else
|
|
872
|
+
if( p[pixel[3]] < c_b)
|
|
873
|
+
if( p[pixel[4]] < c_b)
|
|
874
|
+
if( p[pixel[5]] < c_b)
|
|
875
|
+
goto is_a_corner;
|
|
876
|
+
else
|
|
877
|
+
goto is_not_a_corner;
|
|
878
|
+
else
|
|
879
|
+
goto is_not_a_corner;
|
|
880
|
+
else
|
|
881
|
+
goto is_not_a_corner;
|
|
882
|
+
else
|
|
883
|
+
goto is_not_a_corner;
|
|
884
|
+
else
|
|
885
|
+
goto is_not_a_corner;
|
|
886
|
+
else
|
|
887
|
+
goto is_not_a_corner;
|
|
888
|
+
else
|
|
889
|
+
goto is_not_a_corner;
|
|
890
|
+
else
|
|
891
|
+
goto is_not_a_corner;
|
|
892
|
+
else
|
|
893
|
+
goto is_not_a_corner;
|
|
894
|
+
else
|
|
895
|
+
goto is_not_a_corner;
|
|
896
|
+
else
|
|
897
|
+
goto is_not_a_corner;
|
|
898
|
+
else
|
|
899
|
+
goto is_not_a_corner;
|
|
900
|
+
else if( p[pixel[2]] < c_b)
|
|
901
|
+
if( p[pixel[3]] > cb)
|
|
902
|
+
if( p[pixel[15]] < c_b)
|
|
903
|
+
if( p[pixel[7]] > cb)
|
|
904
|
+
if( p[pixel[4]] > cb)
|
|
905
|
+
if( p[pixel[5]] > cb)
|
|
906
|
+
if( p[pixel[6]] > cb)
|
|
907
|
+
if( p[pixel[8]] > cb)
|
|
908
|
+
if( p[pixel[9]] > cb)
|
|
909
|
+
if( p[pixel[10]] > cb)
|
|
910
|
+
if( p[pixel[11]] > cb)
|
|
911
|
+
if( p[pixel[12]] > cb)
|
|
912
|
+
if( p[pixel[13]] > cb)
|
|
913
|
+
if( p[pixel[14]] > cb)
|
|
914
|
+
goto is_a_corner;
|
|
915
|
+
else
|
|
916
|
+
goto is_not_a_corner;
|
|
917
|
+
else
|
|
918
|
+
goto is_not_a_corner;
|
|
919
|
+
else
|
|
920
|
+
goto is_not_a_corner;
|
|
921
|
+
else
|
|
922
|
+
goto is_not_a_corner;
|
|
923
|
+
else
|
|
924
|
+
goto is_not_a_corner;
|
|
925
|
+
else
|
|
926
|
+
goto is_not_a_corner;
|
|
927
|
+
else
|
|
928
|
+
goto is_not_a_corner;
|
|
929
|
+
else
|
|
930
|
+
goto is_not_a_corner;
|
|
931
|
+
else
|
|
932
|
+
goto is_not_a_corner;
|
|
933
|
+
else
|
|
934
|
+
goto is_not_a_corner;
|
|
935
|
+
else if( p[pixel[7]] < c_b)
|
|
936
|
+
if( p[pixel[8]] < c_b)
|
|
937
|
+
if( p[pixel[9]] < c_b)
|
|
938
|
+
if( p[pixel[10]] < c_b)
|
|
939
|
+
if( p[pixel[11]] < c_b)
|
|
940
|
+
if( p[pixel[12]] < c_b)
|
|
941
|
+
if( p[pixel[13]] < c_b)
|
|
942
|
+
if( p[pixel[14]] < c_b)
|
|
943
|
+
goto is_a_corner;
|
|
944
|
+
else
|
|
945
|
+
goto is_not_a_corner;
|
|
946
|
+
else
|
|
947
|
+
goto is_not_a_corner;
|
|
948
|
+
else
|
|
949
|
+
goto is_not_a_corner;
|
|
950
|
+
else
|
|
951
|
+
goto is_not_a_corner;
|
|
952
|
+
else
|
|
953
|
+
goto is_not_a_corner;
|
|
954
|
+
else
|
|
955
|
+
goto is_not_a_corner;
|
|
956
|
+
else
|
|
957
|
+
goto is_not_a_corner;
|
|
958
|
+
else
|
|
959
|
+
goto is_not_a_corner;
|
|
960
|
+
else
|
|
961
|
+
if( p[pixel[4]] > cb)
|
|
962
|
+
if( p[pixel[5]] > cb)
|
|
963
|
+
if( p[pixel[6]] > cb)
|
|
964
|
+
if( p[pixel[7]] > cb)
|
|
965
|
+
if( p[pixel[8]] > cb)
|
|
966
|
+
if( p[pixel[9]] > cb)
|
|
967
|
+
if( p[pixel[10]] > cb)
|
|
968
|
+
if( p[pixel[11]] > cb)
|
|
969
|
+
if( p[pixel[12]] > cb)
|
|
970
|
+
if( p[pixel[13]] > cb)
|
|
971
|
+
if( p[pixel[14]] > cb)
|
|
972
|
+
goto is_a_corner;
|
|
973
|
+
else
|
|
974
|
+
goto is_not_a_corner;
|
|
975
|
+
else
|
|
976
|
+
goto is_not_a_corner;
|
|
977
|
+
else
|
|
978
|
+
goto is_not_a_corner;
|
|
979
|
+
else
|
|
980
|
+
goto is_not_a_corner;
|
|
981
|
+
else
|
|
982
|
+
goto is_not_a_corner;
|
|
983
|
+
else
|
|
984
|
+
goto is_not_a_corner;
|
|
985
|
+
else
|
|
986
|
+
goto is_not_a_corner;
|
|
987
|
+
else
|
|
988
|
+
goto is_not_a_corner;
|
|
989
|
+
else
|
|
990
|
+
goto is_not_a_corner;
|
|
991
|
+
else
|
|
992
|
+
goto is_not_a_corner;
|
|
993
|
+
else
|
|
994
|
+
goto is_not_a_corner;
|
|
995
|
+
else if( p[pixel[3]] < c_b)
|
|
996
|
+
if( p[pixel[4]] > cb)
|
|
997
|
+
if( p[pixel[8]] > cb)
|
|
998
|
+
if( p[pixel[5]] > cb)
|
|
999
|
+
if( p[pixel[6]] > cb)
|
|
1000
|
+
if( p[pixel[7]] > cb)
|
|
1001
|
+
if( p[pixel[9]] > cb)
|
|
1002
|
+
if( p[pixel[10]] > cb)
|
|
1003
|
+
if( p[pixel[11]] > cb)
|
|
1004
|
+
if( p[pixel[12]] > cb)
|
|
1005
|
+
if( p[pixel[13]] > cb)
|
|
1006
|
+
if( p[pixel[14]] > cb)
|
|
1007
|
+
if( p[pixel[15]] > cb)
|
|
1008
|
+
goto is_a_corner;
|
|
1009
|
+
else
|
|
1010
|
+
goto is_not_a_corner;
|
|
1011
|
+
else
|
|
1012
|
+
goto is_not_a_corner;
|
|
1013
|
+
else
|
|
1014
|
+
goto is_not_a_corner;
|
|
1015
|
+
else
|
|
1016
|
+
goto is_not_a_corner;
|
|
1017
|
+
else
|
|
1018
|
+
goto is_not_a_corner;
|
|
1019
|
+
else
|
|
1020
|
+
goto is_not_a_corner;
|
|
1021
|
+
else
|
|
1022
|
+
goto is_not_a_corner;
|
|
1023
|
+
else
|
|
1024
|
+
goto is_not_a_corner;
|
|
1025
|
+
else
|
|
1026
|
+
goto is_not_a_corner;
|
|
1027
|
+
else
|
|
1028
|
+
goto is_not_a_corner;
|
|
1029
|
+
else if( p[pixel[8]] < c_b)
|
|
1030
|
+
if( p[pixel[9]] < c_b)
|
|
1031
|
+
if( p[pixel[10]] < c_b)
|
|
1032
|
+
if( p[pixel[11]] < c_b)
|
|
1033
|
+
if( p[pixel[12]] < c_b)
|
|
1034
|
+
if( p[pixel[13]] < c_b)
|
|
1035
|
+
if( p[pixel[14]] < c_b)
|
|
1036
|
+
if( p[pixel[15]] < c_b)
|
|
1037
|
+
goto is_a_corner;
|
|
1038
|
+
else
|
|
1039
|
+
goto is_not_a_corner;
|
|
1040
|
+
else
|
|
1041
|
+
goto is_not_a_corner;
|
|
1042
|
+
else
|
|
1043
|
+
goto is_not_a_corner;
|
|
1044
|
+
else
|
|
1045
|
+
goto is_not_a_corner;
|
|
1046
|
+
else
|
|
1047
|
+
goto is_not_a_corner;
|
|
1048
|
+
else
|
|
1049
|
+
goto is_not_a_corner;
|
|
1050
|
+
else
|
|
1051
|
+
goto is_not_a_corner;
|
|
1052
|
+
else
|
|
1053
|
+
goto is_not_a_corner;
|
|
1054
|
+
else if( p[pixel[4]] < c_b)
|
|
1055
|
+
if( p[pixel[5]] < c_b)
|
|
1056
|
+
if( p[pixel[6]] < c_b)
|
|
1057
|
+
if( p[pixel[7]] < c_b)
|
|
1058
|
+
if( p[pixel[8]] < c_b)
|
|
1059
|
+
if( p[pixel[9]] < c_b)
|
|
1060
|
+
if( p[pixel[10]] < c_b)
|
|
1061
|
+
if( p[pixel[11]] < c_b)
|
|
1062
|
+
goto is_a_corner;
|
|
1063
|
+
else
|
|
1064
|
+
if( p[pixel[15]] < c_b)
|
|
1065
|
+
goto is_a_corner;
|
|
1066
|
+
else
|
|
1067
|
+
goto is_not_a_corner;
|
|
1068
|
+
else
|
|
1069
|
+
if( p[pixel[14]] < c_b)
|
|
1070
|
+
if( p[pixel[15]] < c_b)
|
|
1071
|
+
goto is_a_corner;
|
|
1072
|
+
else
|
|
1073
|
+
goto is_not_a_corner;
|
|
1074
|
+
else
|
|
1075
|
+
goto is_not_a_corner;
|
|
1076
|
+
else
|
|
1077
|
+
if( p[pixel[13]] < c_b)
|
|
1078
|
+
if( p[pixel[14]] < c_b)
|
|
1079
|
+
if( p[pixel[15]] < c_b)
|
|
1080
|
+
goto is_a_corner;
|
|
1081
|
+
else
|
|
1082
|
+
goto is_not_a_corner;
|
|
1083
|
+
else
|
|
1084
|
+
goto is_not_a_corner;
|
|
1085
|
+
else
|
|
1086
|
+
goto is_not_a_corner;
|
|
1087
|
+
else
|
|
1088
|
+
if( p[pixel[12]] < c_b)
|
|
1089
|
+
if( p[pixel[13]] < c_b)
|
|
1090
|
+
if( p[pixel[14]] < c_b)
|
|
1091
|
+
if( p[pixel[15]] < c_b)
|
|
1092
|
+
goto is_a_corner;
|
|
1093
|
+
else
|
|
1094
|
+
goto is_not_a_corner;
|
|
1095
|
+
else
|
|
1096
|
+
goto is_not_a_corner;
|
|
1097
|
+
else
|
|
1098
|
+
goto is_not_a_corner;
|
|
1099
|
+
else
|
|
1100
|
+
goto is_not_a_corner;
|
|
1101
|
+
else
|
|
1102
|
+
if( p[pixel[11]] < c_b)
|
|
1103
|
+
if( p[pixel[12]] < c_b)
|
|
1104
|
+
if( p[pixel[13]] < c_b)
|
|
1105
|
+
if( p[pixel[14]] < c_b)
|
|
1106
|
+
if( p[pixel[15]] < c_b)
|
|
1107
|
+
goto is_a_corner;
|
|
1108
|
+
else
|
|
1109
|
+
goto is_not_a_corner;
|
|
1110
|
+
else
|
|
1111
|
+
goto is_not_a_corner;
|
|
1112
|
+
else
|
|
1113
|
+
goto is_not_a_corner;
|
|
1114
|
+
else
|
|
1115
|
+
goto is_not_a_corner;
|
|
1116
|
+
else
|
|
1117
|
+
goto is_not_a_corner;
|
|
1118
|
+
else
|
|
1119
|
+
if( p[pixel[10]] < c_b)
|
|
1120
|
+
if( p[pixel[11]] < c_b)
|
|
1121
|
+
if( p[pixel[12]] < c_b)
|
|
1122
|
+
if( p[pixel[13]] < c_b)
|
|
1123
|
+
if( p[pixel[14]] < c_b)
|
|
1124
|
+
if( p[pixel[15]] < c_b)
|
|
1125
|
+
goto is_a_corner;
|
|
1126
|
+
else
|
|
1127
|
+
goto is_not_a_corner;
|
|
1128
|
+
else
|
|
1129
|
+
goto is_not_a_corner;
|
|
1130
|
+
else
|
|
1131
|
+
goto is_not_a_corner;
|
|
1132
|
+
else
|
|
1133
|
+
goto is_not_a_corner;
|
|
1134
|
+
else
|
|
1135
|
+
goto is_not_a_corner;
|
|
1136
|
+
else
|
|
1137
|
+
goto is_not_a_corner;
|
|
1138
|
+
else
|
|
1139
|
+
if( p[pixel[9]] < c_b)
|
|
1140
|
+
if( p[pixel[10]] < c_b)
|
|
1141
|
+
if( p[pixel[11]] < c_b)
|
|
1142
|
+
if( p[pixel[12]] < c_b)
|
|
1143
|
+
if( p[pixel[13]] < c_b)
|
|
1144
|
+
if( p[pixel[14]] < c_b)
|
|
1145
|
+
if( p[pixel[15]] < c_b)
|
|
1146
|
+
goto is_a_corner;
|
|
1147
|
+
else
|
|
1148
|
+
goto is_not_a_corner;
|
|
1149
|
+
else
|
|
1150
|
+
goto is_not_a_corner;
|
|
1151
|
+
else
|
|
1152
|
+
goto is_not_a_corner;
|
|
1153
|
+
else
|
|
1154
|
+
goto is_not_a_corner;
|
|
1155
|
+
else
|
|
1156
|
+
goto is_not_a_corner;
|
|
1157
|
+
else
|
|
1158
|
+
goto is_not_a_corner;
|
|
1159
|
+
else
|
|
1160
|
+
goto is_not_a_corner;
|
|
1161
|
+
else
|
|
1162
|
+
if( p[pixel[8]] < c_b)
|
|
1163
|
+
if( p[pixel[9]] < c_b)
|
|
1164
|
+
if( p[pixel[10]] < c_b)
|
|
1165
|
+
if( p[pixel[11]] < c_b)
|
|
1166
|
+
if( p[pixel[12]] < c_b)
|
|
1167
|
+
if( p[pixel[13]] < c_b)
|
|
1168
|
+
if( p[pixel[14]] < c_b)
|
|
1169
|
+
if( p[pixel[15]] < c_b)
|
|
1170
|
+
goto is_a_corner;
|
|
1171
|
+
else
|
|
1172
|
+
goto is_not_a_corner;
|
|
1173
|
+
else
|
|
1174
|
+
goto is_not_a_corner;
|
|
1175
|
+
else
|
|
1176
|
+
goto is_not_a_corner;
|
|
1177
|
+
else
|
|
1178
|
+
goto is_not_a_corner;
|
|
1179
|
+
else
|
|
1180
|
+
goto is_not_a_corner;
|
|
1181
|
+
else
|
|
1182
|
+
goto is_not_a_corner;
|
|
1183
|
+
else
|
|
1184
|
+
goto is_not_a_corner;
|
|
1185
|
+
else
|
|
1186
|
+
goto is_not_a_corner;
|
|
1187
|
+
else
|
|
1188
|
+
if( p[pixel[7]] > cb)
|
|
1189
|
+
if( p[pixel[4]] > cb)
|
|
1190
|
+
if( p[pixel[5]] > cb)
|
|
1191
|
+
if( p[pixel[6]] > cb)
|
|
1192
|
+
if( p[pixel[8]] > cb)
|
|
1193
|
+
if( p[pixel[9]] > cb)
|
|
1194
|
+
if( p[pixel[10]] > cb)
|
|
1195
|
+
if( p[pixel[11]] > cb)
|
|
1196
|
+
if( p[pixel[12]] > cb)
|
|
1197
|
+
if( p[pixel[13]] > cb)
|
|
1198
|
+
if( p[pixel[14]] > cb)
|
|
1199
|
+
if( p[pixel[15]] > cb)
|
|
1200
|
+
goto is_a_corner;
|
|
1201
|
+
else
|
|
1202
|
+
goto is_not_a_corner;
|
|
1203
|
+
else
|
|
1204
|
+
goto is_not_a_corner;
|
|
1205
|
+
else
|
|
1206
|
+
goto is_not_a_corner;
|
|
1207
|
+
else
|
|
1208
|
+
goto is_not_a_corner;
|
|
1209
|
+
else
|
|
1210
|
+
goto is_not_a_corner;
|
|
1211
|
+
else
|
|
1212
|
+
goto is_not_a_corner;
|
|
1213
|
+
else
|
|
1214
|
+
goto is_not_a_corner;
|
|
1215
|
+
else
|
|
1216
|
+
goto is_not_a_corner;
|
|
1217
|
+
else
|
|
1218
|
+
goto is_not_a_corner;
|
|
1219
|
+
else
|
|
1220
|
+
goto is_not_a_corner;
|
|
1221
|
+
else
|
|
1222
|
+
goto is_not_a_corner;
|
|
1223
|
+
else if( p[pixel[7]] < c_b)
|
|
1224
|
+
if( p[pixel[8]] < c_b)
|
|
1225
|
+
if( p[pixel[9]] < c_b)
|
|
1226
|
+
if( p[pixel[10]] < c_b)
|
|
1227
|
+
if( p[pixel[11]] < c_b)
|
|
1228
|
+
if( p[pixel[12]] < c_b)
|
|
1229
|
+
if( p[pixel[13]] < c_b)
|
|
1230
|
+
if( p[pixel[14]] < c_b)
|
|
1231
|
+
if( p[pixel[15]] < c_b)
|
|
1232
|
+
goto is_a_corner;
|
|
1233
|
+
else
|
|
1234
|
+
goto is_not_a_corner;
|
|
1235
|
+
else
|
|
1236
|
+
goto is_not_a_corner;
|
|
1237
|
+
else
|
|
1238
|
+
goto is_not_a_corner;
|
|
1239
|
+
else
|
|
1240
|
+
goto is_not_a_corner;
|
|
1241
|
+
else
|
|
1242
|
+
goto is_not_a_corner;
|
|
1243
|
+
else
|
|
1244
|
+
goto is_not_a_corner;
|
|
1245
|
+
else
|
|
1246
|
+
goto is_not_a_corner;
|
|
1247
|
+
else
|
|
1248
|
+
goto is_not_a_corner;
|
|
1249
|
+
else
|
|
1250
|
+
goto is_not_a_corner;
|
|
1251
|
+
else
|
|
1252
|
+
if( p[pixel[6]] > cb)
|
|
1253
|
+
if( p[pixel[4]] > cb)
|
|
1254
|
+
if( p[pixel[5]] > cb)
|
|
1255
|
+
if( p[pixel[7]] > cb)
|
|
1256
|
+
if( p[pixel[8]] > cb)
|
|
1257
|
+
if( p[pixel[9]] > cb)
|
|
1258
|
+
if( p[pixel[10]] > cb)
|
|
1259
|
+
if( p[pixel[11]] > cb)
|
|
1260
|
+
if( p[pixel[12]] > cb)
|
|
1261
|
+
if( p[pixel[13]] > cb)
|
|
1262
|
+
if( p[pixel[14]] > cb)
|
|
1263
|
+
if( p[pixel[3]] > cb)
|
|
1264
|
+
goto is_a_corner;
|
|
1265
|
+
else
|
|
1266
|
+
if( p[pixel[15]] > cb)
|
|
1267
|
+
goto is_a_corner;
|
|
1268
|
+
else
|
|
1269
|
+
goto is_not_a_corner;
|
|
1270
|
+
else
|
|
1271
|
+
goto is_not_a_corner;
|
|
1272
|
+
else
|
|
1273
|
+
goto is_not_a_corner;
|
|
1274
|
+
else
|
|
1275
|
+
goto is_not_a_corner;
|
|
1276
|
+
else
|
|
1277
|
+
goto is_not_a_corner;
|
|
1278
|
+
else
|
|
1279
|
+
goto is_not_a_corner;
|
|
1280
|
+
else
|
|
1281
|
+
goto is_not_a_corner;
|
|
1282
|
+
else
|
|
1283
|
+
goto is_not_a_corner;
|
|
1284
|
+
else
|
|
1285
|
+
goto is_not_a_corner;
|
|
1286
|
+
else
|
|
1287
|
+
goto is_not_a_corner;
|
|
1288
|
+
else
|
|
1289
|
+
goto is_not_a_corner;
|
|
1290
|
+
else if( p[pixel[6]] < c_b)
|
|
1291
|
+
if( p[pixel[7]] < c_b)
|
|
1292
|
+
if( p[pixel[8]] < c_b)
|
|
1293
|
+
if( p[pixel[9]] < c_b)
|
|
1294
|
+
if( p[pixel[10]] < c_b)
|
|
1295
|
+
if( p[pixel[11]] < c_b)
|
|
1296
|
+
if( p[pixel[12]] < c_b)
|
|
1297
|
+
if( p[pixel[13]] < c_b)
|
|
1298
|
+
if( p[pixel[14]] < c_b)
|
|
1299
|
+
if( p[pixel[15]] < c_b)
|
|
1300
|
+
goto is_a_corner;
|
|
1301
|
+
else
|
|
1302
|
+
if( p[pixel[3]] < c_b)
|
|
1303
|
+
if( p[pixel[4]] < c_b)
|
|
1304
|
+
if( p[pixel[5]] < c_b)
|
|
1305
|
+
goto is_a_corner;
|
|
1306
|
+
else
|
|
1307
|
+
goto is_not_a_corner;
|
|
1308
|
+
else
|
|
1309
|
+
goto is_not_a_corner;
|
|
1310
|
+
else
|
|
1311
|
+
goto is_not_a_corner;
|
|
1312
|
+
else
|
|
1313
|
+
goto is_not_a_corner;
|
|
1314
|
+
else
|
|
1315
|
+
goto is_not_a_corner;
|
|
1316
|
+
else
|
|
1317
|
+
goto is_not_a_corner;
|
|
1318
|
+
else
|
|
1319
|
+
goto is_not_a_corner;
|
|
1320
|
+
else
|
|
1321
|
+
goto is_not_a_corner;
|
|
1322
|
+
else
|
|
1323
|
+
goto is_not_a_corner;
|
|
1324
|
+
else
|
|
1325
|
+
goto is_not_a_corner;
|
|
1326
|
+
else
|
|
1327
|
+
goto is_not_a_corner;
|
|
1328
|
+
else
|
|
1329
|
+
goto is_not_a_corner;
|
|
1330
|
+
else
|
|
1331
|
+
if( p[pixel[5]] > cb)
|
|
1332
|
+
if( p[pixel[4]] > cb)
|
|
1333
|
+
if( p[pixel[6]] > cb)
|
|
1334
|
+
if( p[pixel[7]] > cb)
|
|
1335
|
+
if( p[pixel[8]] > cb)
|
|
1336
|
+
if( p[pixel[9]] > cb)
|
|
1337
|
+
if( p[pixel[10]] > cb)
|
|
1338
|
+
if( p[pixel[11]] > cb)
|
|
1339
|
+
if( p[pixel[12]] > cb)
|
|
1340
|
+
if( p[pixel[13]] > cb)
|
|
1341
|
+
if( p[pixel[3]] > cb)
|
|
1342
|
+
if( p[pixel[2]] > cb)
|
|
1343
|
+
goto is_a_corner;
|
|
1344
|
+
else
|
|
1345
|
+
if( p[pixel[14]] > cb)
|
|
1346
|
+
goto is_a_corner;
|
|
1347
|
+
else
|
|
1348
|
+
goto is_not_a_corner;
|
|
1349
|
+
else
|
|
1350
|
+
if( p[pixel[14]] > cb)
|
|
1351
|
+
if( p[pixel[15]] > cb)
|
|
1352
|
+
goto is_a_corner;
|
|
1353
|
+
else
|
|
1354
|
+
goto is_not_a_corner;
|
|
1355
|
+
else
|
|
1356
|
+
goto is_not_a_corner;
|
|
1357
|
+
else
|
|
1358
|
+
goto is_not_a_corner;
|
|
1359
|
+
else
|
|
1360
|
+
goto is_not_a_corner;
|
|
1361
|
+
else
|
|
1362
|
+
goto is_not_a_corner;
|
|
1363
|
+
else
|
|
1364
|
+
goto is_not_a_corner;
|
|
1365
|
+
else
|
|
1366
|
+
goto is_not_a_corner;
|
|
1367
|
+
else
|
|
1368
|
+
goto is_not_a_corner;
|
|
1369
|
+
else
|
|
1370
|
+
goto is_not_a_corner;
|
|
1371
|
+
else
|
|
1372
|
+
goto is_not_a_corner;
|
|
1373
|
+
else
|
|
1374
|
+
goto is_not_a_corner;
|
|
1375
|
+
else if( p[pixel[5]] < c_b)
|
|
1376
|
+
if( p[pixel[6]] < c_b)
|
|
1377
|
+
if( p[pixel[7]] < c_b)
|
|
1378
|
+
if( p[pixel[8]] < c_b)
|
|
1379
|
+
if( p[pixel[9]] < c_b)
|
|
1380
|
+
if( p[pixel[10]] < c_b)
|
|
1381
|
+
if( p[pixel[11]] < c_b)
|
|
1382
|
+
if( p[pixel[12]] < c_b)
|
|
1383
|
+
if( p[pixel[13]] < c_b)
|
|
1384
|
+
if( p[pixel[14]] < c_b)
|
|
1385
|
+
if( p[pixel[15]] < c_b)
|
|
1386
|
+
goto is_a_corner;
|
|
1387
|
+
else
|
|
1388
|
+
if( p[pixel[3]] < c_b)
|
|
1389
|
+
if( p[pixel[4]] < c_b)
|
|
1390
|
+
goto is_a_corner;
|
|
1391
|
+
else
|
|
1392
|
+
goto is_not_a_corner;
|
|
1393
|
+
else
|
|
1394
|
+
goto is_not_a_corner;
|
|
1395
|
+
else
|
|
1396
|
+
if( p[pixel[2]] < c_b)
|
|
1397
|
+
if( p[pixel[3]] < c_b)
|
|
1398
|
+
if( p[pixel[4]] < c_b)
|
|
1399
|
+
goto is_a_corner;
|
|
1400
|
+
else
|
|
1401
|
+
goto is_not_a_corner;
|
|
1402
|
+
else
|
|
1403
|
+
goto is_not_a_corner;
|
|
1404
|
+
else
|
|
1405
|
+
goto is_not_a_corner;
|
|
1406
|
+
else
|
|
1407
|
+
goto is_not_a_corner;
|
|
1408
|
+
else
|
|
1409
|
+
goto is_not_a_corner;
|
|
1410
|
+
else
|
|
1411
|
+
goto is_not_a_corner;
|
|
1412
|
+
else
|
|
1413
|
+
goto is_not_a_corner;
|
|
1414
|
+
else
|
|
1415
|
+
goto is_not_a_corner;
|
|
1416
|
+
else
|
|
1417
|
+
goto is_not_a_corner;
|
|
1418
|
+
else
|
|
1419
|
+
goto is_not_a_corner;
|
|
1420
|
+
else
|
|
1421
|
+
goto is_not_a_corner;
|
|
1422
|
+
else
|
|
1423
|
+
goto is_not_a_corner;
|
|
1424
|
+
else
|
|
1425
|
+
if( p[pixel[4]] > cb)
|
|
1426
|
+
if( p[pixel[5]] > cb)
|
|
1427
|
+
if( p[pixel[6]] > cb)
|
|
1428
|
+
if( p[pixel[7]] > cb)
|
|
1429
|
+
if( p[pixel[8]] > cb)
|
|
1430
|
+
if( p[pixel[9]] > cb)
|
|
1431
|
+
if( p[pixel[10]] > cb)
|
|
1432
|
+
if( p[pixel[11]] > cb)
|
|
1433
|
+
if( p[pixel[12]] > cb)
|
|
1434
|
+
if( p[pixel[3]] > cb)
|
|
1435
|
+
if( p[pixel[2]] > cb)
|
|
1436
|
+
if( p[pixel[1]] > cb)
|
|
1437
|
+
goto is_a_corner;
|
|
1438
|
+
else
|
|
1439
|
+
if( p[pixel[13]] > cb)
|
|
1440
|
+
goto is_a_corner;
|
|
1441
|
+
else
|
|
1442
|
+
goto is_not_a_corner;
|
|
1443
|
+
else
|
|
1444
|
+
if( p[pixel[13]] > cb)
|
|
1445
|
+
if( p[pixel[14]] > cb)
|
|
1446
|
+
goto is_a_corner;
|
|
1447
|
+
else
|
|
1448
|
+
goto is_not_a_corner;
|
|
1449
|
+
else
|
|
1450
|
+
goto is_not_a_corner;
|
|
1451
|
+
else
|
|
1452
|
+
if( p[pixel[13]] > cb)
|
|
1453
|
+
if( p[pixel[14]] > cb)
|
|
1454
|
+
if( p[pixel[15]] > cb)
|
|
1455
|
+
goto is_a_corner;
|
|
1456
|
+
else
|
|
1457
|
+
goto is_not_a_corner;
|
|
1458
|
+
else
|
|
1459
|
+
goto is_not_a_corner;
|
|
1460
|
+
else
|
|
1461
|
+
goto is_not_a_corner;
|
|
1462
|
+
else
|
|
1463
|
+
goto is_not_a_corner;
|
|
1464
|
+
else
|
|
1465
|
+
goto is_not_a_corner;
|
|
1466
|
+
else
|
|
1467
|
+
goto is_not_a_corner;
|
|
1468
|
+
else
|
|
1469
|
+
goto is_not_a_corner;
|
|
1470
|
+
else
|
|
1471
|
+
goto is_not_a_corner;
|
|
1472
|
+
else
|
|
1473
|
+
goto is_not_a_corner;
|
|
1474
|
+
else
|
|
1475
|
+
goto is_not_a_corner;
|
|
1476
|
+
else
|
|
1477
|
+
goto is_not_a_corner;
|
|
1478
|
+
else if( p[pixel[4]] < c_b)
|
|
1479
|
+
if( p[pixel[5]] < c_b)
|
|
1480
|
+
if( p[pixel[6]] < c_b)
|
|
1481
|
+
if( p[pixel[7]] < c_b)
|
|
1482
|
+
if( p[pixel[8]] < c_b)
|
|
1483
|
+
if( p[pixel[9]] < c_b)
|
|
1484
|
+
if( p[pixel[10]] < c_b)
|
|
1485
|
+
if( p[pixel[11]] < c_b)
|
|
1486
|
+
if( p[pixel[12]] < c_b)
|
|
1487
|
+
if( p[pixel[3]] < c_b)
|
|
1488
|
+
if( p[pixel[2]] < c_b)
|
|
1489
|
+
if( p[pixel[1]] < c_b)
|
|
1490
|
+
goto is_a_corner;
|
|
1491
|
+
else
|
|
1492
|
+
if( p[pixel[13]] < c_b)
|
|
1493
|
+
goto is_a_corner;
|
|
1494
|
+
else
|
|
1495
|
+
goto is_not_a_corner;
|
|
1496
|
+
else
|
|
1497
|
+
if( p[pixel[13]] < c_b)
|
|
1498
|
+
if( p[pixel[14]] < c_b)
|
|
1499
|
+
goto is_a_corner;
|
|
1500
|
+
else
|
|
1501
|
+
goto is_not_a_corner;
|
|
1502
|
+
else
|
|
1503
|
+
goto is_not_a_corner;
|
|
1504
|
+
else
|
|
1505
|
+
if( p[pixel[13]] < c_b)
|
|
1506
|
+
if( p[pixel[14]] < c_b)
|
|
1507
|
+
if( p[pixel[15]] < c_b)
|
|
1508
|
+
goto is_a_corner;
|
|
1509
|
+
else
|
|
1510
|
+
goto is_not_a_corner;
|
|
1511
|
+
else
|
|
1512
|
+
goto is_not_a_corner;
|
|
1513
|
+
else
|
|
1514
|
+
goto is_not_a_corner;
|
|
1515
|
+
else
|
|
1516
|
+
goto is_not_a_corner;
|
|
1517
|
+
else
|
|
1518
|
+
goto is_not_a_corner;
|
|
1519
|
+
else
|
|
1520
|
+
goto is_not_a_corner;
|
|
1521
|
+
else
|
|
1522
|
+
goto is_not_a_corner;
|
|
1523
|
+
else
|
|
1524
|
+
goto is_not_a_corner;
|
|
1525
|
+
else
|
|
1526
|
+
goto is_not_a_corner;
|
|
1527
|
+
else
|
|
1528
|
+
goto is_not_a_corner;
|
|
1529
|
+
else
|
|
1530
|
+
goto is_not_a_corner;
|
|
1531
|
+
else
|
|
1532
|
+
goto is_not_a_corner;
|
|
1533
|
+
|
|
1534
|
+
is_a_corner:
|
|
1535
|
+
bmin=b;
|
|
1536
|
+
goto end_if;
|
|
1537
|
+
|
|
1538
|
+
is_not_a_corner:
|
|
1539
|
+
bmax=b;
|
|
1540
|
+
goto end_if;
|
|
1541
|
+
|
|
1542
|
+
end_if:
|
|
1543
|
+
|
|
1544
|
+
if(bmin == bmax - 1 || bmin == bmax)
|
|
1545
|
+
return bmin;
|
|
1546
|
+
b = (bmin + bmax) / 2;
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
|
|
1550
|
+
static void make_offsets(int pixel[], int row_stride)
|
|
1551
|
+
{
|
|
1552
|
+
pixel[0] = 0 + row_stride * 3;
|
|
1553
|
+
pixel[1] = 1 + row_stride * 3;
|
|
1554
|
+
pixel[2] = 2 + row_stride * 2;
|
|
1555
|
+
pixel[3] = 3 + row_stride * 1;
|
|
1556
|
+
pixel[4] = 3 + row_stride * 0;
|
|
1557
|
+
pixel[5] = 3 + row_stride * -1;
|
|
1558
|
+
pixel[6] = 2 + row_stride * -2;
|
|
1559
|
+
pixel[7] = 1 + row_stride * -3;
|
|
1560
|
+
pixel[8] = 0 + row_stride * -3;
|
|
1561
|
+
pixel[9] = -1 + row_stride * -3;
|
|
1562
|
+
pixel[10] = -2 + row_stride * -2;
|
|
1563
|
+
pixel[11] = -3 + row_stride * -1;
|
|
1564
|
+
pixel[12] = -3 + row_stride * 0;
|
|
1565
|
+
pixel[13] = -3 + row_stride * 1;
|
|
1566
|
+
pixel[14] = -2 + row_stride * 2;
|
|
1567
|
+
pixel[15] = -1 + row_stride * 3;
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
|
|
1571
|
+
|
|
1572
|
+
int* fast12_score(const byte* i, int stride, xy* corners, int num_corners, int b)
|
|
1573
|
+
{
|
|
1574
|
+
int* scores = (int*)malloc(sizeof(int)* num_corners);
|
|
1575
|
+
int n;
|
|
1576
|
+
|
|
1577
|
+
int pixel[16];
|
|
1578
|
+
make_offsets(pixel, stride);
|
|
1579
|
+
|
|
1580
|
+
for(n=0; n < num_corners; n++)
|
|
1581
|
+
scores[n] = fast12_corner_score(i + corners[n].y*stride + corners[n].x, pixel, b);
|
|
1582
|
+
|
|
1583
|
+
return scores;
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1586
|
+
|
|
1587
|
+
xy* fast12_detect(const byte* im, int xsize, int ysize, int stride, int b, int* ret_num_corners)
|
|
1588
|
+
{
|
|
1589
|
+
int num_corners=0;
|
|
1590
|
+
xy* ret_corners;
|
|
1591
|
+
int rsize=512;
|
|
1592
|
+
int pixel[16];
|
|
1593
|
+
int x, y;
|
|
1594
|
+
|
|
1595
|
+
ret_corners = (xy*)malloc(sizeof(xy)*rsize);
|
|
1596
|
+
make_offsets(pixel, stride);
|
|
1597
|
+
|
|
1598
|
+
for(y=3; y < ysize - 3; y++)
|
|
1599
|
+
for(x=3; x < xsize - 3; x++)
|
|
1600
|
+
{
|
|
1601
|
+
const byte* p = im + y*stride + x;
|
|
1602
|
+
|
|
1603
|
+
int cb = *p + b;
|
|
1604
|
+
int c_b= *p - b;
|
|
1605
|
+
if(p[pixel[0]] > cb)
|
|
1606
|
+
if(p[pixel[1]] > cb)
|
|
1607
|
+
if(p[pixel[2]] > cb)
|
|
1608
|
+
if(p[pixel[3]] > cb)
|
|
1609
|
+
if(p[pixel[4]] > cb)
|
|
1610
|
+
if(p[pixel[5]] > cb)
|
|
1611
|
+
if(p[pixel[6]] > cb)
|
|
1612
|
+
if(p[pixel[7]] > cb)
|
|
1613
|
+
if(p[pixel[8]] > cb)
|
|
1614
|
+
if(p[pixel[9]] > cb)
|
|
1615
|
+
if(p[pixel[10]] > cb)
|
|
1616
|
+
if(p[pixel[11]] > cb)
|
|
1617
|
+
{}
|
|
1618
|
+
else
|
|
1619
|
+
if(p[pixel[15]] > cb)
|
|
1620
|
+
{}
|
|
1621
|
+
else
|
|
1622
|
+
continue;
|
|
1623
|
+
else
|
|
1624
|
+
if(p[pixel[14]] > cb)
|
|
1625
|
+
if(p[pixel[15]] > cb)
|
|
1626
|
+
{}
|
|
1627
|
+
else
|
|
1628
|
+
continue;
|
|
1629
|
+
else
|
|
1630
|
+
continue;
|
|
1631
|
+
else
|
|
1632
|
+
if(p[pixel[13]] > cb)
|
|
1633
|
+
if(p[pixel[14]] > cb)
|
|
1634
|
+
if(p[pixel[15]] > cb)
|
|
1635
|
+
{}
|
|
1636
|
+
else
|
|
1637
|
+
continue;
|
|
1638
|
+
else
|
|
1639
|
+
continue;
|
|
1640
|
+
else
|
|
1641
|
+
continue;
|
|
1642
|
+
else
|
|
1643
|
+
if(p[pixel[12]] > cb)
|
|
1644
|
+
if(p[pixel[13]] > cb)
|
|
1645
|
+
if(p[pixel[14]] > cb)
|
|
1646
|
+
if(p[pixel[15]] > cb)
|
|
1647
|
+
{}
|
|
1648
|
+
else
|
|
1649
|
+
continue;
|
|
1650
|
+
else
|
|
1651
|
+
continue;
|
|
1652
|
+
else
|
|
1653
|
+
continue;
|
|
1654
|
+
else
|
|
1655
|
+
continue;
|
|
1656
|
+
else
|
|
1657
|
+
if(p[pixel[11]] > cb)
|
|
1658
|
+
if(p[pixel[12]] > cb)
|
|
1659
|
+
if(p[pixel[13]] > cb)
|
|
1660
|
+
if(p[pixel[14]] > cb)
|
|
1661
|
+
if(p[pixel[15]] > cb)
|
|
1662
|
+
{}
|
|
1663
|
+
else
|
|
1664
|
+
continue;
|
|
1665
|
+
else
|
|
1666
|
+
continue;
|
|
1667
|
+
else
|
|
1668
|
+
continue;
|
|
1669
|
+
else
|
|
1670
|
+
continue;
|
|
1671
|
+
else
|
|
1672
|
+
continue;
|
|
1673
|
+
else
|
|
1674
|
+
if(p[pixel[10]] > cb)
|
|
1675
|
+
if(p[pixel[11]] > cb)
|
|
1676
|
+
if(p[pixel[12]] > cb)
|
|
1677
|
+
if(p[pixel[13]] > cb)
|
|
1678
|
+
if(p[pixel[14]] > cb)
|
|
1679
|
+
if(p[pixel[15]] > cb)
|
|
1680
|
+
{}
|
|
1681
|
+
else
|
|
1682
|
+
continue;
|
|
1683
|
+
else
|
|
1684
|
+
continue;
|
|
1685
|
+
else
|
|
1686
|
+
continue;
|
|
1687
|
+
else
|
|
1688
|
+
continue;
|
|
1689
|
+
else
|
|
1690
|
+
continue;
|
|
1691
|
+
else
|
|
1692
|
+
continue;
|
|
1693
|
+
else
|
|
1694
|
+
if(p[pixel[9]] > cb)
|
|
1695
|
+
if(p[pixel[10]] > cb)
|
|
1696
|
+
if(p[pixel[11]] > cb)
|
|
1697
|
+
if(p[pixel[12]] > cb)
|
|
1698
|
+
if(p[pixel[13]] > cb)
|
|
1699
|
+
if(p[pixel[14]] > cb)
|
|
1700
|
+
if(p[pixel[15]] > cb)
|
|
1701
|
+
{}
|
|
1702
|
+
else
|
|
1703
|
+
continue;
|
|
1704
|
+
else
|
|
1705
|
+
continue;
|
|
1706
|
+
else
|
|
1707
|
+
continue;
|
|
1708
|
+
else
|
|
1709
|
+
continue;
|
|
1710
|
+
else
|
|
1711
|
+
continue;
|
|
1712
|
+
else
|
|
1713
|
+
continue;
|
|
1714
|
+
else
|
|
1715
|
+
continue;
|
|
1716
|
+
else if(p[pixel[4]] < c_b)
|
|
1717
|
+
if(p[pixel[8]] > cb)
|
|
1718
|
+
if(p[pixel[9]] > cb)
|
|
1719
|
+
if(p[pixel[10]] > cb)
|
|
1720
|
+
if(p[pixel[11]] > cb)
|
|
1721
|
+
if(p[pixel[12]] > cb)
|
|
1722
|
+
if(p[pixel[13]] > cb)
|
|
1723
|
+
if(p[pixel[14]] > cb)
|
|
1724
|
+
if(p[pixel[15]] > cb)
|
|
1725
|
+
{}
|
|
1726
|
+
else
|
|
1727
|
+
continue;
|
|
1728
|
+
else
|
|
1729
|
+
continue;
|
|
1730
|
+
else
|
|
1731
|
+
continue;
|
|
1732
|
+
else
|
|
1733
|
+
continue;
|
|
1734
|
+
else
|
|
1735
|
+
continue;
|
|
1736
|
+
else
|
|
1737
|
+
continue;
|
|
1738
|
+
else
|
|
1739
|
+
continue;
|
|
1740
|
+
else if(p[pixel[8]] < c_b)
|
|
1741
|
+
if(p[pixel[5]] < c_b)
|
|
1742
|
+
if(p[pixel[6]] < c_b)
|
|
1743
|
+
if(p[pixel[7]] < c_b)
|
|
1744
|
+
if(p[pixel[9]] < c_b)
|
|
1745
|
+
if(p[pixel[10]] < c_b)
|
|
1746
|
+
if(p[pixel[11]] < c_b)
|
|
1747
|
+
if(p[pixel[12]] < c_b)
|
|
1748
|
+
if(p[pixel[13]] < c_b)
|
|
1749
|
+
if(p[pixel[14]] < c_b)
|
|
1750
|
+
if(p[pixel[15]] < c_b)
|
|
1751
|
+
{}
|
|
1752
|
+
else
|
|
1753
|
+
continue;
|
|
1754
|
+
else
|
|
1755
|
+
continue;
|
|
1756
|
+
else
|
|
1757
|
+
continue;
|
|
1758
|
+
else
|
|
1759
|
+
continue;
|
|
1760
|
+
else
|
|
1761
|
+
continue;
|
|
1762
|
+
else
|
|
1763
|
+
continue;
|
|
1764
|
+
else
|
|
1765
|
+
continue;
|
|
1766
|
+
else
|
|
1767
|
+
continue;
|
|
1768
|
+
else
|
|
1769
|
+
continue;
|
|
1770
|
+
else
|
|
1771
|
+
continue;
|
|
1772
|
+
else
|
|
1773
|
+
continue;
|
|
1774
|
+
else
|
|
1775
|
+
if(p[pixel[8]] > cb)
|
|
1776
|
+
if(p[pixel[9]] > cb)
|
|
1777
|
+
if(p[pixel[10]] > cb)
|
|
1778
|
+
if(p[pixel[11]] > cb)
|
|
1779
|
+
if(p[pixel[12]] > cb)
|
|
1780
|
+
if(p[pixel[13]] > cb)
|
|
1781
|
+
if(p[pixel[14]] > cb)
|
|
1782
|
+
if(p[pixel[15]] > cb)
|
|
1783
|
+
{}
|
|
1784
|
+
else
|
|
1785
|
+
continue;
|
|
1786
|
+
else
|
|
1787
|
+
continue;
|
|
1788
|
+
else
|
|
1789
|
+
continue;
|
|
1790
|
+
else
|
|
1791
|
+
continue;
|
|
1792
|
+
else
|
|
1793
|
+
continue;
|
|
1794
|
+
else
|
|
1795
|
+
continue;
|
|
1796
|
+
else
|
|
1797
|
+
continue;
|
|
1798
|
+
else
|
|
1799
|
+
continue;
|
|
1800
|
+
else if(p[pixel[3]] < c_b)
|
|
1801
|
+
if(p[pixel[15]] > cb)
|
|
1802
|
+
if(p[pixel[7]] > cb)
|
|
1803
|
+
if(p[pixel[8]] > cb)
|
|
1804
|
+
if(p[pixel[9]] > cb)
|
|
1805
|
+
if(p[pixel[10]] > cb)
|
|
1806
|
+
if(p[pixel[11]] > cb)
|
|
1807
|
+
if(p[pixel[12]] > cb)
|
|
1808
|
+
if(p[pixel[13]] > cb)
|
|
1809
|
+
if(p[pixel[14]] > cb)
|
|
1810
|
+
{}
|
|
1811
|
+
else
|
|
1812
|
+
continue;
|
|
1813
|
+
else
|
|
1814
|
+
continue;
|
|
1815
|
+
else
|
|
1816
|
+
continue;
|
|
1817
|
+
else
|
|
1818
|
+
continue;
|
|
1819
|
+
else
|
|
1820
|
+
continue;
|
|
1821
|
+
else
|
|
1822
|
+
continue;
|
|
1823
|
+
else
|
|
1824
|
+
continue;
|
|
1825
|
+
else if(p[pixel[7]] < c_b)
|
|
1826
|
+
if(p[pixel[4]] < c_b)
|
|
1827
|
+
if(p[pixel[5]] < c_b)
|
|
1828
|
+
if(p[pixel[6]] < c_b)
|
|
1829
|
+
if(p[pixel[8]] < c_b)
|
|
1830
|
+
if(p[pixel[9]] < c_b)
|
|
1831
|
+
if(p[pixel[10]] < c_b)
|
|
1832
|
+
if(p[pixel[11]] < c_b)
|
|
1833
|
+
if(p[pixel[12]] < c_b)
|
|
1834
|
+
if(p[pixel[13]] < c_b)
|
|
1835
|
+
if(p[pixel[14]] < c_b)
|
|
1836
|
+
{}
|
|
1837
|
+
else
|
|
1838
|
+
continue;
|
|
1839
|
+
else
|
|
1840
|
+
continue;
|
|
1841
|
+
else
|
|
1842
|
+
continue;
|
|
1843
|
+
else
|
|
1844
|
+
continue;
|
|
1845
|
+
else
|
|
1846
|
+
continue;
|
|
1847
|
+
else
|
|
1848
|
+
continue;
|
|
1849
|
+
else
|
|
1850
|
+
continue;
|
|
1851
|
+
else
|
|
1852
|
+
continue;
|
|
1853
|
+
else
|
|
1854
|
+
continue;
|
|
1855
|
+
else
|
|
1856
|
+
continue;
|
|
1857
|
+
else
|
|
1858
|
+
continue;
|
|
1859
|
+
else
|
|
1860
|
+
if(p[pixel[4]] < c_b)
|
|
1861
|
+
if(p[pixel[5]] < c_b)
|
|
1862
|
+
if(p[pixel[6]] < c_b)
|
|
1863
|
+
if(p[pixel[7]] < c_b)
|
|
1864
|
+
if(p[pixel[8]] < c_b)
|
|
1865
|
+
if(p[pixel[9]] < c_b)
|
|
1866
|
+
if(p[pixel[10]] < c_b)
|
|
1867
|
+
if(p[pixel[11]] < c_b)
|
|
1868
|
+
if(p[pixel[12]] < c_b)
|
|
1869
|
+
if(p[pixel[13]] < c_b)
|
|
1870
|
+
if(p[pixel[14]] < c_b)
|
|
1871
|
+
{}
|
|
1872
|
+
else
|
|
1873
|
+
continue;
|
|
1874
|
+
else
|
|
1875
|
+
continue;
|
|
1876
|
+
else
|
|
1877
|
+
continue;
|
|
1878
|
+
else
|
|
1879
|
+
continue;
|
|
1880
|
+
else
|
|
1881
|
+
continue;
|
|
1882
|
+
else
|
|
1883
|
+
continue;
|
|
1884
|
+
else
|
|
1885
|
+
continue;
|
|
1886
|
+
else
|
|
1887
|
+
continue;
|
|
1888
|
+
else
|
|
1889
|
+
continue;
|
|
1890
|
+
else
|
|
1891
|
+
continue;
|
|
1892
|
+
else
|
|
1893
|
+
continue;
|
|
1894
|
+
else
|
|
1895
|
+
if(p[pixel[7]] > cb)
|
|
1896
|
+
if(p[pixel[8]] > cb)
|
|
1897
|
+
if(p[pixel[9]] > cb)
|
|
1898
|
+
if(p[pixel[10]] > cb)
|
|
1899
|
+
if(p[pixel[11]] > cb)
|
|
1900
|
+
if(p[pixel[12]] > cb)
|
|
1901
|
+
if(p[pixel[13]] > cb)
|
|
1902
|
+
if(p[pixel[14]] > cb)
|
|
1903
|
+
if(p[pixel[15]] > cb)
|
|
1904
|
+
{}
|
|
1905
|
+
else
|
|
1906
|
+
continue;
|
|
1907
|
+
else
|
|
1908
|
+
continue;
|
|
1909
|
+
else
|
|
1910
|
+
continue;
|
|
1911
|
+
else
|
|
1912
|
+
continue;
|
|
1913
|
+
else
|
|
1914
|
+
continue;
|
|
1915
|
+
else
|
|
1916
|
+
continue;
|
|
1917
|
+
else
|
|
1918
|
+
continue;
|
|
1919
|
+
else
|
|
1920
|
+
continue;
|
|
1921
|
+
else if(p[pixel[7]] < c_b)
|
|
1922
|
+
if(p[pixel[4]] < c_b)
|
|
1923
|
+
if(p[pixel[5]] < c_b)
|
|
1924
|
+
if(p[pixel[6]] < c_b)
|
|
1925
|
+
if(p[pixel[8]] < c_b)
|
|
1926
|
+
if(p[pixel[9]] < c_b)
|
|
1927
|
+
if(p[pixel[10]] < c_b)
|
|
1928
|
+
if(p[pixel[11]] < c_b)
|
|
1929
|
+
if(p[pixel[12]] < c_b)
|
|
1930
|
+
if(p[pixel[13]] < c_b)
|
|
1931
|
+
if(p[pixel[14]] < c_b)
|
|
1932
|
+
if(p[pixel[15]] < c_b)
|
|
1933
|
+
{}
|
|
1934
|
+
else
|
|
1935
|
+
continue;
|
|
1936
|
+
else
|
|
1937
|
+
continue;
|
|
1938
|
+
else
|
|
1939
|
+
continue;
|
|
1940
|
+
else
|
|
1941
|
+
continue;
|
|
1942
|
+
else
|
|
1943
|
+
continue;
|
|
1944
|
+
else
|
|
1945
|
+
continue;
|
|
1946
|
+
else
|
|
1947
|
+
continue;
|
|
1948
|
+
else
|
|
1949
|
+
continue;
|
|
1950
|
+
else
|
|
1951
|
+
continue;
|
|
1952
|
+
else
|
|
1953
|
+
continue;
|
|
1954
|
+
else
|
|
1955
|
+
continue;
|
|
1956
|
+
else
|
|
1957
|
+
continue;
|
|
1958
|
+
else if(p[pixel[2]] < c_b)
|
|
1959
|
+
if(p[pixel[6]] > cb)
|
|
1960
|
+
if(p[pixel[7]] > cb)
|
|
1961
|
+
if(p[pixel[8]] > cb)
|
|
1962
|
+
if(p[pixel[9]] > cb)
|
|
1963
|
+
if(p[pixel[10]] > cb)
|
|
1964
|
+
if(p[pixel[11]] > cb)
|
|
1965
|
+
if(p[pixel[12]] > cb)
|
|
1966
|
+
if(p[pixel[13]] > cb)
|
|
1967
|
+
if(p[pixel[14]] > cb)
|
|
1968
|
+
if(p[pixel[15]] > cb)
|
|
1969
|
+
{}
|
|
1970
|
+
else
|
|
1971
|
+
if(p[pixel[3]] > cb)
|
|
1972
|
+
if(p[pixel[4]] > cb)
|
|
1973
|
+
if(p[pixel[5]] > cb)
|
|
1974
|
+
{}
|
|
1975
|
+
else
|
|
1976
|
+
continue;
|
|
1977
|
+
else
|
|
1978
|
+
continue;
|
|
1979
|
+
else
|
|
1980
|
+
continue;
|
|
1981
|
+
else
|
|
1982
|
+
continue;
|
|
1983
|
+
else
|
|
1984
|
+
continue;
|
|
1985
|
+
else
|
|
1986
|
+
continue;
|
|
1987
|
+
else
|
|
1988
|
+
continue;
|
|
1989
|
+
else
|
|
1990
|
+
continue;
|
|
1991
|
+
else
|
|
1992
|
+
continue;
|
|
1993
|
+
else
|
|
1994
|
+
continue;
|
|
1995
|
+
else
|
|
1996
|
+
continue;
|
|
1997
|
+
else if(p[pixel[6]] < c_b)
|
|
1998
|
+
if(p[pixel[4]] < c_b)
|
|
1999
|
+
if(p[pixel[5]] < c_b)
|
|
2000
|
+
if(p[pixel[7]] < c_b)
|
|
2001
|
+
if(p[pixel[8]] < c_b)
|
|
2002
|
+
if(p[pixel[9]] < c_b)
|
|
2003
|
+
if(p[pixel[10]] < c_b)
|
|
2004
|
+
if(p[pixel[11]] < c_b)
|
|
2005
|
+
if(p[pixel[12]] < c_b)
|
|
2006
|
+
if(p[pixel[13]] < c_b)
|
|
2007
|
+
if(p[pixel[3]] < c_b)
|
|
2008
|
+
{}
|
|
2009
|
+
else
|
|
2010
|
+
if(p[pixel[14]] < c_b)
|
|
2011
|
+
if(p[pixel[15]] < c_b)
|
|
2012
|
+
{}
|
|
2013
|
+
else
|
|
2014
|
+
continue;
|
|
2015
|
+
else
|
|
2016
|
+
continue;
|
|
2017
|
+
else
|
|
2018
|
+
continue;
|
|
2019
|
+
else
|
|
2020
|
+
continue;
|
|
2021
|
+
else
|
|
2022
|
+
continue;
|
|
2023
|
+
else
|
|
2024
|
+
continue;
|
|
2025
|
+
else
|
|
2026
|
+
continue;
|
|
2027
|
+
else
|
|
2028
|
+
continue;
|
|
2029
|
+
else
|
|
2030
|
+
continue;
|
|
2031
|
+
else
|
|
2032
|
+
continue;
|
|
2033
|
+
else
|
|
2034
|
+
continue;
|
|
2035
|
+
else
|
|
2036
|
+
continue;
|
|
2037
|
+
else
|
|
2038
|
+
if(p[pixel[6]] > cb)
|
|
2039
|
+
if(p[pixel[7]] > cb)
|
|
2040
|
+
if(p[pixel[8]] > cb)
|
|
2041
|
+
if(p[pixel[9]] > cb)
|
|
2042
|
+
if(p[pixel[10]] > cb)
|
|
2043
|
+
if(p[pixel[11]] > cb)
|
|
2044
|
+
if(p[pixel[12]] > cb)
|
|
2045
|
+
if(p[pixel[13]] > cb)
|
|
2046
|
+
if(p[pixel[14]] > cb)
|
|
2047
|
+
if(p[pixel[15]] > cb)
|
|
2048
|
+
{}
|
|
2049
|
+
else
|
|
2050
|
+
if(p[pixel[3]] > cb)
|
|
2051
|
+
if(p[pixel[4]] > cb)
|
|
2052
|
+
if(p[pixel[5]] > cb)
|
|
2053
|
+
{}
|
|
2054
|
+
else
|
|
2055
|
+
continue;
|
|
2056
|
+
else
|
|
2057
|
+
continue;
|
|
2058
|
+
else
|
|
2059
|
+
continue;
|
|
2060
|
+
else
|
|
2061
|
+
continue;
|
|
2062
|
+
else
|
|
2063
|
+
continue;
|
|
2064
|
+
else
|
|
2065
|
+
continue;
|
|
2066
|
+
else
|
|
2067
|
+
continue;
|
|
2068
|
+
else
|
|
2069
|
+
continue;
|
|
2070
|
+
else
|
|
2071
|
+
continue;
|
|
2072
|
+
else
|
|
2073
|
+
continue;
|
|
2074
|
+
else
|
|
2075
|
+
continue;
|
|
2076
|
+
else if(p[pixel[6]] < c_b)
|
|
2077
|
+
if(p[pixel[4]] < c_b)
|
|
2078
|
+
if(p[pixel[5]] < c_b)
|
|
2079
|
+
if(p[pixel[7]] < c_b)
|
|
2080
|
+
if(p[pixel[8]] < c_b)
|
|
2081
|
+
if(p[pixel[9]] < c_b)
|
|
2082
|
+
if(p[pixel[10]] < c_b)
|
|
2083
|
+
if(p[pixel[11]] < c_b)
|
|
2084
|
+
if(p[pixel[12]] < c_b)
|
|
2085
|
+
if(p[pixel[13]] < c_b)
|
|
2086
|
+
if(p[pixel[14]] < c_b)
|
|
2087
|
+
if(p[pixel[3]] < c_b)
|
|
2088
|
+
{}
|
|
2089
|
+
else
|
|
2090
|
+
if(p[pixel[15]] < c_b)
|
|
2091
|
+
{}
|
|
2092
|
+
else
|
|
2093
|
+
continue;
|
|
2094
|
+
else
|
|
2095
|
+
continue;
|
|
2096
|
+
else
|
|
2097
|
+
continue;
|
|
2098
|
+
else
|
|
2099
|
+
continue;
|
|
2100
|
+
else
|
|
2101
|
+
continue;
|
|
2102
|
+
else
|
|
2103
|
+
continue;
|
|
2104
|
+
else
|
|
2105
|
+
continue;
|
|
2106
|
+
else
|
|
2107
|
+
continue;
|
|
2108
|
+
else
|
|
2109
|
+
continue;
|
|
2110
|
+
else
|
|
2111
|
+
continue;
|
|
2112
|
+
else
|
|
2113
|
+
continue;
|
|
2114
|
+
else
|
|
2115
|
+
continue;
|
|
2116
|
+
else if(p[pixel[1]] < c_b)
|
|
2117
|
+
if(p[pixel[5]] > cb)
|
|
2118
|
+
if(p[pixel[6]] > cb)
|
|
2119
|
+
if(p[pixel[7]] > cb)
|
|
2120
|
+
if(p[pixel[8]] > cb)
|
|
2121
|
+
if(p[pixel[9]] > cb)
|
|
2122
|
+
if(p[pixel[10]] > cb)
|
|
2123
|
+
if(p[pixel[11]] > cb)
|
|
2124
|
+
if(p[pixel[12]] > cb)
|
|
2125
|
+
if(p[pixel[13]] > cb)
|
|
2126
|
+
if(p[pixel[14]] > cb)
|
|
2127
|
+
if(p[pixel[15]] > cb)
|
|
2128
|
+
{}
|
|
2129
|
+
else
|
|
2130
|
+
if(p[pixel[3]] > cb)
|
|
2131
|
+
if(p[pixel[4]] > cb)
|
|
2132
|
+
{}
|
|
2133
|
+
else
|
|
2134
|
+
continue;
|
|
2135
|
+
else
|
|
2136
|
+
continue;
|
|
2137
|
+
else
|
|
2138
|
+
if(p[pixel[2]] > cb)
|
|
2139
|
+
if(p[pixel[3]] > cb)
|
|
2140
|
+
if(p[pixel[4]] > cb)
|
|
2141
|
+
{}
|
|
2142
|
+
else
|
|
2143
|
+
continue;
|
|
2144
|
+
else
|
|
2145
|
+
continue;
|
|
2146
|
+
else
|
|
2147
|
+
continue;
|
|
2148
|
+
else
|
|
2149
|
+
continue;
|
|
2150
|
+
else
|
|
2151
|
+
continue;
|
|
2152
|
+
else
|
|
2153
|
+
continue;
|
|
2154
|
+
else
|
|
2155
|
+
continue;
|
|
2156
|
+
else
|
|
2157
|
+
continue;
|
|
2158
|
+
else
|
|
2159
|
+
continue;
|
|
2160
|
+
else
|
|
2161
|
+
continue;
|
|
2162
|
+
else
|
|
2163
|
+
continue;
|
|
2164
|
+
else if(p[pixel[5]] < c_b)
|
|
2165
|
+
if(p[pixel[4]] < c_b)
|
|
2166
|
+
if(p[pixel[6]] < c_b)
|
|
2167
|
+
if(p[pixel[7]] < c_b)
|
|
2168
|
+
if(p[pixel[8]] < c_b)
|
|
2169
|
+
if(p[pixel[9]] < c_b)
|
|
2170
|
+
if(p[pixel[10]] < c_b)
|
|
2171
|
+
if(p[pixel[11]] < c_b)
|
|
2172
|
+
if(p[pixel[12]] < c_b)
|
|
2173
|
+
if(p[pixel[3]] < c_b)
|
|
2174
|
+
if(p[pixel[2]] < c_b)
|
|
2175
|
+
{}
|
|
2176
|
+
else
|
|
2177
|
+
if(p[pixel[13]] < c_b)
|
|
2178
|
+
if(p[pixel[14]] < c_b)
|
|
2179
|
+
{}
|
|
2180
|
+
else
|
|
2181
|
+
continue;
|
|
2182
|
+
else
|
|
2183
|
+
continue;
|
|
2184
|
+
else
|
|
2185
|
+
if(p[pixel[13]] < c_b)
|
|
2186
|
+
if(p[pixel[14]] < c_b)
|
|
2187
|
+
if(p[pixel[15]] < c_b)
|
|
2188
|
+
{}
|
|
2189
|
+
else
|
|
2190
|
+
continue;
|
|
2191
|
+
else
|
|
2192
|
+
continue;
|
|
2193
|
+
else
|
|
2194
|
+
continue;
|
|
2195
|
+
else
|
|
2196
|
+
continue;
|
|
2197
|
+
else
|
|
2198
|
+
continue;
|
|
2199
|
+
else
|
|
2200
|
+
continue;
|
|
2201
|
+
else
|
|
2202
|
+
continue;
|
|
2203
|
+
else
|
|
2204
|
+
continue;
|
|
2205
|
+
else
|
|
2206
|
+
continue;
|
|
2207
|
+
else
|
|
2208
|
+
continue;
|
|
2209
|
+
else
|
|
2210
|
+
continue;
|
|
2211
|
+
else
|
|
2212
|
+
continue;
|
|
2213
|
+
else
|
|
2214
|
+
if(p[pixel[5]] > cb)
|
|
2215
|
+
if(p[pixel[6]] > cb)
|
|
2216
|
+
if(p[pixel[7]] > cb)
|
|
2217
|
+
if(p[pixel[8]] > cb)
|
|
2218
|
+
if(p[pixel[9]] > cb)
|
|
2219
|
+
if(p[pixel[10]] > cb)
|
|
2220
|
+
if(p[pixel[11]] > cb)
|
|
2221
|
+
if(p[pixel[12]] > cb)
|
|
2222
|
+
if(p[pixel[13]] > cb)
|
|
2223
|
+
if(p[pixel[14]] > cb)
|
|
2224
|
+
if(p[pixel[15]] > cb)
|
|
2225
|
+
{}
|
|
2226
|
+
else
|
|
2227
|
+
if(p[pixel[3]] > cb)
|
|
2228
|
+
if(p[pixel[4]] > cb)
|
|
2229
|
+
{}
|
|
2230
|
+
else
|
|
2231
|
+
continue;
|
|
2232
|
+
else
|
|
2233
|
+
continue;
|
|
2234
|
+
else
|
|
2235
|
+
if(p[pixel[2]] > cb)
|
|
2236
|
+
if(p[pixel[3]] > cb)
|
|
2237
|
+
if(p[pixel[4]] > cb)
|
|
2238
|
+
{}
|
|
2239
|
+
else
|
|
2240
|
+
continue;
|
|
2241
|
+
else
|
|
2242
|
+
continue;
|
|
2243
|
+
else
|
|
2244
|
+
continue;
|
|
2245
|
+
else
|
|
2246
|
+
continue;
|
|
2247
|
+
else
|
|
2248
|
+
continue;
|
|
2249
|
+
else
|
|
2250
|
+
continue;
|
|
2251
|
+
else
|
|
2252
|
+
continue;
|
|
2253
|
+
else
|
|
2254
|
+
continue;
|
|
2255
|
+
else
|
|
2256
|
+
continue;
|
|
2257
|
+
else
|
|
2258
|
+
continue;
|
|
2259
|
+
else
|
|
2260
|
+
continue;
|
|
2261
|
+
else if(p[pixel[5]] < c_b)
|
|
2262
|
+
if(p[pixel[4]] < c_b)
|
|
2263
|
+
if(p[pixel[6]] < c_b)
|
|
2264
|
+
if(p[pixel[7]] < c_b)
|
|
2265
|
+
if(p[pixel[8]] < c_b)
|
|
2266
|
+
if(p[pixel[9]] < c_b)
|
|
2267
|
+
if(p[pixel[10]] < c_b)
|
|
2268
|
+
if(p[pixel[11]] < c_b)
|
|
2269
|
+
if(p[pixel[12]] < c_b)
|
|
2270
|
+
if(p[pixel[13]] < c_b)
|
|
2271
|
+
if(p[pixel[3]] < c_b)
|
|
2272
|
+
if(p[pixel[2]] < c_b)
|
|
2273
|
+
{}
|
|
2274
|
+
else
|
|
2275
|
+
if(p[pixel[14]] < c_b)
|
|
2276
|
+
{}
|
|
2277
|
+
else
|
|
2278
|
+
continue;
|
|
2279
|
+
else
|
|
2280
|
+
if(p[pixel[14]] < c_b)
|
|
2281
|
+
if(p[pixel[15]] < c_b)
|
|
2282
|
+
{}
|
|
2283
|
+
else
|
|
2284
|
+
continue;
|
|
2285
|
+
else
|
|
2286
|
+
continue;
|
|
2287
|
+
else
|
|
2288
|
+
continue;
|
|
2289
|
+
else
|
|
2290
|
+
continue;
|
|
2291
|
+
else
|
|
2292
|
+
continue;
|
|
2293
|
+
else
|
|
2294
|
+
continue;
|
|
2295
|
+
else
|
|
2296
|
+
continue;
|
|
2297
|
+
else
|
|
2298
|
+
continue;
|
|
2299
|
+
else
|
|
2300
|
+
continue;
|
|
2301
|
+
else
|
|
2302
|
+
continue;
|
|
2303
|
+
else
|
|
2304
|
+
continue;
|
|
2305
|
+
else
|
|
2306
|
+
continue;
|
|
2307
|
+
else if(p[pixel[0]] < c_b)
|
|
2308
|
+
if(p[pixel[1]] > cb)
|
|
2309
|
+
if(p[pixel[5]] > cb)
|
|
2310
|
+
if(p[pixel[4]] > cb)
|
|
2311
|
+
if(p[pixel[6]] > cb)
|
|
2312
|
+
if(p[pixel[7]] > cb)
|
|
2313
|
+
if(p[pixel[8]] > cb)
|
|
2314
|
+
if(p[pixel[9]] > cb)
|
|
2315
|
+
if(p[pixel[10]] > cb)
|
|
2316
|
+
if(p[pixel[11]] > cb)
|
|
2317
|
+
if(p[pixel[12]] > cb)
|
|
2318
|
+
if(p[pixel[3]] > cb)
|
|
2319
|
+
if(p[pixel[2]] > cb)
|
|
2320
|
+
{}
|
|
2321
|
+
else
|
|
2322
|
+
if(p[pixel[13]] > cb)
|
|
2323
|
+
if(p[pixel[14]] > cb)
|
|
2324
|
+
{}
|
|
2325
|
+
else
|
|
2326
|
+
continue;
|
|
2327
|
+
else
|
|
2328
|
+
continue;
|
|
2329
|
+
else
|
|
2330
|
+
if(p[pixel[13]] > cb)
|
|
2331
|
+
if(p[pixel[14]] > cb)
|
|
2332
|
+
if(p[pixel[15]] > cb)
|
|
2333
|
+
{}
|
|
2334
|
+
else
|
|
2335
|
+
continue;
|
|
2336
|
+
else
|
|
2337
|
+
continue;
|
|
2338
|
+
else
|
|
2339
|
+
continue;
|
|
2340
|
+
else
|
|
2341
|
+
continue;
|
|
2342
|
+
else
|
|
2343
|
+
continue;
|
|
2344
|
+
else
|
|
2345
|
+
continue;
|
|
2346
|
+
else
|
|
2347
|
+
continue;
|
|
2348
|
+
else
|
|
2349
|
+
continue;
|
|
2350
|
+
else
|
|
2351
|
+
continue;
|
|
2352
|
+
else
|
|
2353
|
+
continue;
|
|
2354
|
+
else
|
|
2355
|
+
continue;
|
|
2356
|
+
else if(p[pixel[5]] < c_b)
|
|
2357
|
+
if(p[pixel[6]] < c_b)
|
|
2358
|
+
if(p[pixel[7]] < c_b)
|
|
2359
|
+
if(p[pixel[8]] < c_b)
|
|
2360
|
+
if(p[pixel[9]] < c_b)
|
|
2361
|
+
if(p[pixel[10]] < c_b)
|
|
2362
|
+
if(p[pixel[11]] < c_b)
|
|
2363
|
+
if(p[pixel[12]] < c_b)
|
|
2364
|
+
if(p[pixel[13]] < c_b)
|
|
2365
|
+
if(p[pixel[14]] < c_b)
|
|
2366
|
+
if(p[pixel[15]] < c_b)
|
|
2367
|
+
{}
|
|
2368
|
+
else
|
|
2369
|
+
if(p[pixel[3]] < c_b)
|
|
2370
|
+
if(p[pixel[4]] < c_b)
|
|
2371
|
+
{}
|
|
2372
|
+
else
|
|
2373
|
+
continue;
|
|
2374
|
+
else
|
|
2375
|
+
continue;
|
|
2376
|
+
else
|
|
2377
|
+
if(p[pixel[2]] < c_b)
|
|
2378
|
+
if(p[pixel[3]] < c_b)
|
|
2379
|
+
if(p[pixel[4]] < c_b)
|
|
2380
|
+
{}
|
|
2381
|
+
else
|
|
2382
|
+
continue;
|
|
2383
|
+
else
|
|
2384
|
+
continue;
|
|
2385
|
+
else
|
|
2386
|
+
continue;
|
|
2387
|
+
else
|
|
2388
|
+
continue;
|
|
2389
|
+
else
|
|
2390
|
+
continue;
|
|
2391
|
+
else
|
|
2392
|
+
continue;
|
|
2393
|
+
else
|
|
2394
|
+
continue;
|
|
2395
|
+
else
|
|
2396
|
+
continue;
|
|
2397
|
+
else
|
|
2398
|
+
continue;
|
|
2399
|
+
else
|
|
2400
|
+
continue;
|
|
2401
|
+
else
|
|
2402
|
+
continue;
|
|
2403
|
+
else
|
|
2404
|
+
continue;
|
|
2405
|
+
else if(p[pixel[1]] < c_b)
|
|
2406
|
+
if(p[pixel[2]] > cb)
|
|
2407
|
+
if(p[pixel[6]] > cb)
|
|
2408
|
+
if(p[pixel[4]] > cb)
|
|
2409
|
+
if(p[pixel[5]] > cb)
|
|
2410
|
+
if(p[pixel[7]] > cb)
|
|
2411
|
+
if(p[pixel[8]] > cb)
|
|
2412
|
+
if(p[pixel[9]] > cb)
|
|
2413
|
+
if(p[pixel[10]] > cb)
|
|
2414
|
+
if(p[pixel[11]] > cb)
|
|
2415
|
+
if(p[pixel[12]] > cb)
|
|
2416
|
+
if(p[pixel[13]] > cb)
|
|
2417
|
+
if(p[pixel[3]] > cb)
|
|
2418
|
+
{}
|
|
2419
|
+
else
|
|
2420
|
+
if(p[pixel[14]] > cb)
|
|
2421
|
+
if(p[pixel[15]] > cb)
|
|
2422
|
+
{}
|
|
2423
|
+
else
|
|
2424
|
+
continue;
|
|
2425
|
+
else
|
|
2426
|
+
continue;
|
|
2427
|
+
else
|
|
2428
|
+
continue;
|
|
2429
|
+
else
|
|
2430
|
+
continue;
|
|
2431
|
+
else
|
|
2432
|
+
continue;
|
|
2433
|
+
else
|
|
2434
|
+
continue;
|
|
2435
|
+
else
|
|
2436
|
+
continue;
|
|
2437
|
+
else
|
|
2438
|
+
continue;
|
|
2439
|
+
else
|
|
2440
|
+
continue;
|
|
2441
|
+
else
|
|
2442
|
+
continue;
|
|
2443
|
+
else
|
|
2444
|
+
continue;
|
|
2445
|
+
else if(p[pixel[6]] < c_b)
|
|
2446
|
+
if(p[pixel[7]] < c_b)
|
|
2447
|
+
if(p[pixel[8]] < c_b)
|
|
2448
|
+
if(p[pixel[9]] < c_b)
|
|
2449
|
+
if(p[pixel[10]] < c_b)
|
|
2450
|
+
if(p[pixel[11]] < c_b)
|
|
2451
|
+
if(p[pixel[12]] < c_b)
|
|
2452
|
+
if(p[pixel[13]] < c_b)
|
|
2453
|
+
if(p[pixel[14]] < c_b)
|
|
2454
|
+
if(p[pixel[15]] < c_b)
|
|
2455
|
+
{}
|
|
2456
|
+
else
|
|
2457
|
+
if(p[pixel[3]] < c_b)
|
|
2458
|
+
if(p[pixel[4]] < c_b)
|
|
2459
|
+
if(p[pixel[5]] < c_b)
|
|
2460
|
+
{}
|
|
2461
|
+
else
|
|
2462
|
+
continue;
|
|
2463
|
+
else
|
|
2464
|
+
continue;
|
|
2465
|
+
else
|
|
2466
|
+
continue;
|
|
2467
|
+
else
|
|
2468
|
+
continue;
|
|
2469
|
+
else
|
|
2470
|
+
continue;
|
|
2471
|
+
else
|
|
2472
|
+
continue;
|
|
2473
|
+
else
|
|
2474
|
+
continue;
|
|
2475
|
+
else
|
|
2476
|
+
continue;
|
|
2477
|
+
else
|
|
2478
|
+
continue;
|
|
2479
|
+
else
|
|
2480
|
+
continue;
|
|
2481
|
+
else
|
|
2482
|
+
continue;
|
|
2483
|
+
else
|
|
2484
|
+
continue;
|
|
2485
|
+
else if(p[pixel[2]] < c_b)
|
|
2486
|
+
if(p[pixel[3]] > cb)
|
|
2487
|
+
if(p[pixel[15]] < c_b)
|
|
2488
|
+
if(p[pixel[7]] > cb)
|
|
2489
|
+
if(p[pixel[4]] > cb)
|
|
2490
|
+
if(p[pixel[5]] > cb)
|
|
2491
|
+
if(p[pixel[6]] > cb)
|
|
2492
|
+
if(p[pixel[8]] > cb)
|
|
2493
|
+
if(p[pixel[9]] > cb)
|
|
2494
|
+
if(p[pixel[10]] > cb)
|
|
2495
|
+
if(p[pixel[11]] > cb)
|
|
2496
|
+
if(p[pixel[12]] > cb)
|
|
2497
|
+
if(p[pixel[13]] > cb)
|
|
2498
|
+
if(p[pixel[14]] > cb)
|
|
2499
|
+
{}
|
|
2500
|
+
else
|
|
2501
|
+
continue;
|
|
2502
|
+
else
|
|
2503
|
+
continue;
|
|
2504
|
+
else
|
|
2505
|
+
continue;
|
|
2506
|
+
else
|
|
2507
|
+
continue;
|
|
2508
|
+
else
|
|
2509
|
+
continue;
|
|
2510
|
+
else
|
|
2511
|
+
continue;
|
|
2512
|
+
else
|
|
2513
|
+
continue;
|
|
2514
|
+
else
|
|
2515
|
+
continue;
|
|
2516
|
+
else
|
|
2517
|
+
continue;
|
|
2518
|
+
else
|
|
2519
|
+
continue;
|
|
2520
|
+
else if(p[pixel[7]] < c_b)
|
|
2521
|
+
if(p[pixel[8]] < c_b)
|
|
2522
|
+
if(p[pixel[9]] < c_b)
|
|
2523
|
+
if(p[pixel[10]] < c_b)
|
|
2524
|
+
if(p[pixel[11]] < c_b)
|
|
2525
|
+
if(p[pixel[12]] < c_b)
|
|
2526
|
+
if(p[pixel[13]] < c_b)
|
|
2527
|
+
if(p[pixel[14]] < c_b)
|
|
2528
|
+
{}
|
|
2529
|
+
else
|
|
2530
|
+
continue;
|
|
2531
|
+
else
|
|
2532
|
+
continue;
|
|
2533
|
+
else
|
|
2534
|
+
continue;
|
|
2535
|
+
else
|
|
2536
|
+
continue;
|
|
2537
|
+
else
|
|
2538
|
+
continue;
|
|
2539
|
+
else
|
|
2540
|
+
continue;
|
|
2541
|
+
else
|
|
2542
|
+
continue;
|
|
2543
|
+
else
|
|
2544
|
+
continue;
|
|
2545
|
+
else
|
|
2546
|
+
if(p[pixel[4]] > cb)
|
|
2547
|
+
if(p[pixel[5]] > cb)
|
|
2548
|
+
if(p[pixel[6]] > cb)
|
|
2549
|
+
if(p[pixel[7]] > cb)
|
|
2550
|
+
if(p[pixel[8]] > cb)
|
|
2551
|
+
if(p[pixel[9]] > cb)
|
|
2552
|
+
if(p[pixel[10]] > cb)
|
|
2553
|
+
if(p[pixel[11]] > cb)
|
|
2554
|
+
if(p[pixel[12]] > cb)
|
|
2555
|
+
if(p[pixel[13]] > cb)
|
|
2556
|
+
if(p[pixel[14]] > cb)
|
|
2557
|
+
{}
|
|
2558
|
+
else
|
|
2559
|
+
continue;
|
|
2560
|
+
else
|
|
2561
|
+
continue;
|
|
2562
|
+
else
|
|
2563
|
+
continue;
|
|
2564
|
+
else
|
|
2565
|
+
continue;
|
|
2566
|
+
else
|
|
2567
|
+
continue;
|
|
2568
|
+
else
|
|
2569
|
+
continue;
|
|
2570
|
+
else
|
|
2571
|
+
continue;
|
|
2572
|
+
else
|
|
2573
|
+
continue;
|
|
2574
|
+
else
|
|
2575
|
+
continue;
|
|
2576
|
+
else
|
|
2577
|
+
continue;
|
|
2578
|
+
else
|
|
2579
|
+
continue;
|
|
2580
|
+
else if(p[pixel[3]] < c_b)
|
|
2581
|
+
if(p[pixel[4]] > cb)
|
|
2582
|
+
if(p[pixel[8]] > cb)
|
|
2583
|
+
if(p[pixel[5]] > cb)
|
|
2584
|
+
if(p[pixel[6]] > cb)
|
|
2585
|
+
if(p[pixel[7]] > cb)
|
|
2586
|
+
if(p[pixel[9]] > cb)
|
|
2587
|
+
if(p[pixel[10]] > cb)
|
|
2588
|
+
if(p[pixel[11]] > cb)
|
|
2589
|
+
if(p[pixel[12]] > cb)
|
|
2590
|
+
if(p[pixel[13]] > cb)
|
|
2591
|
+
if(p[pixel[14]] > cb)
|
|
2592
|
+
if(p[pixel[15]] > cb)
|
|
2593
|
+
{}
|
|
2594
|
+
else
|
|
2595
|
+
continue;
|
|
2596
|
+
else
|
|
2597
|
+
continue;
|
|
2598
|
+
else
|
|
2599
|
+
continue;
|
|
2600
|
+
else
|
|
2601
|
+
continue;
|
|
2602
|
+
else
|
|
2603
|
+
continue;
|
|
2604
|
+
else
|
|
2605
|
+
continue;
|
|
2606
|
+
else
|
|
2607
|
+
continue;
|
|
2608
|
+
else
|
|
2609
|
+
continue;
|
|
2610
|
+
else
|
|
2611
|
+
continue;
|
|
2612
|
+
else
|
|
2613
|
+
continue;
|
|
2614
|
+
else if(p[pixel[8]] < c_b)
|
|
2615
|
+
if(p[pixel[9]] < c_b)
|
|
2616
|
+
if(p[pixel[10]] < c_b)
|
|
2617
|
+
if(p[pixel[11]] < c_b)
|
|
2618
|
+
if(p[pixel[12]] < c_b)
|
|
2619
|
+
if(p[pixel[13]] < c_b)
|
|
2620
|
+
if(p[pixel[14]] < c_b)
|
|
2621
|
+
if(p[pixel[15]] < c_b)
|
|
2622
|
+
{}
|
|
2623
|
+
else
|
|
2624
|
+
continue;
|
|
2625
|
+
else
|
|
2626
|
+
continue;
|
|
2627
|
+
else
|
|
2628
|
+
continue;
|
|
2629
|
+
else
|
|
2630
|
+
continue;
|
|
2631
|
+
else
|
|
2632
|
+
continue;
|
|
2633
|
+
else
|
|
2634
|
+
continue;
|
|
2635
|
+
else
|
|
2636
|
+
continue;
|
|
2637
|
+
else
|
|
2638
|
+
continue;
|
|
2639
|
+
else if(p[pixel[4]] < c_b)
|
|
2640
|
+
if(p[pixel[5]] < c_b)
|
|
2641
|
+
if(p[pixel[6]] < c_b)
|
|
2642
|
+
if(p[pixel[7]] < c_b)
|
|
2643
|
+
if(p[pixel[8]] < c_b)
|
|
2644
|
+
if(p[pixel[9]] < c_b)
|
|
2645
|
+
if(p[pixel[10]] < c_b)
|
|
2646
|
+
if(p[pixel[11]] < c_b)
|
|
2647
|
+
{}
|
|
2648
|
+
else
|
|
2649
|
+
if(p[pixel[15]] < c_b)
|
|
2650
|
+
{}
|
|
2651
|
+
else
|
|
2652
|
+
continue;
|
|
2653
|
+
else
|
|
2654
|
+
if(p[pixel[14]] < c_b)
|
|
2655
|
+
if(p[pixel[15]] < c_b)
|
|
2656
|
+
{}
|
|
2657
|
+
else
|
|
2658
|
+
continue;
|
|
2659
|
+
else
|
|
2660
|
+
continue;
|
|
2661
|
+
else
|
|
2662
|
+
if(p[pixel[13]] < c_b)
|
|
2663
|
+
if(p[pixel[14]] < c_b)
|
|
2664
|
+
if(p[pixel[15]] < c_b)
|
|
2665
|
+
{}
|
|
2666
|
+
else
|
|
2667
|
+
continue;
|
|
2668
|
+
else
|
|
2669
|
+
continue;
|
|
2670
|
+
else
|
|
2671
|
+
continue;
|
|
2672
|
+
else
|
|
2673
|
+
if(p[pixel[12]] < c_b)
|
|
2674
|
+
if(p[pixel[13]] < c_b)
|
|
2675
|
+
if(p[pixel[14]] < c_b)
|
|
2676
|
+
if(p[pixel[15]] < c_b)
|
|
2677
|
+
{}
|
|
2678
|
+
else
|
|
2679
|
+
continue;
|
|
2680
|
+
else
|
|
2681
|
+
continue;
|
|
2682
|
+
else
|
|
2683
|
+
continue;
|
|
2684
|
+
else
|
|
2685
|
+
continue;
|
|
2686
|
+
else
|
|
2687
|
+
if(p[pixel[11]] < c_b)
|
|
2688
|
+
if(p[pixel[12]] < c_b)
|
|
2689
|
+
if(p[pixel[13]] < c_b)
|
|
2690
|
+
if(p[pixel[14]] < c_b)
|
|
2691
|
+
if(p[pixel[15]] < c_b)
|
|
2692
|
+
{}
|
|
2693
|
+
else
|
|
2694
|
+
continue;
|
|
2695
|
+
else
|
|
2696
|
+
continue;
|
|
2697
|
+
else
|
|
2698
|
+
continue;
|
|
2699
|
+
else
|
|
2700
|
+
continue;
|
|
2701
|
+
else
|
|
2702
|
+
continue;
|
|
2703
|
+
else
|
|
2704
|
+
if(p[pixel[10]] < c_b)
|
|
2705
|
+
if(p[pixel[11]] < c_b)
|
|
2706
|
+
if(p[pixel[12]] < c_b)
|
|
2707
|
+
if(p[pixel[13]] < c_b)
|
|
2708
|
+
if(p[pixel[14]] < c_b)
|
|
2709
|
+
if(p[pixel[15]] < c_b)
|
|
2710
|
+
{}
|
|
2711
|
+
else
|
|
2712
|
+
continue;
|
|
2713
|
+
else
|
|
2714
|
+
continue;
|
|
2715
|
+
else
|
|
2716
|
+
continue;
|
|
2717
|
+
else
|
|
2718
|
+
continue;
|
|
2719
|
+
else
|
|
2720
|
+
continue;
|
|
2721
|
+
else
|
|
2722
|
+
continue;
|
|
2723
|
+
else
|
|
2724
|
+
if(p[pixel[9]] < c_b)
|
|
2725
|
+
if(p[pixel[10]] < c_b)
|
|
2726
|
+
if(p[pixel[11]] < c_b)
|
|
2727
|
+
if(p[pixel[12]] < c_b)
|
|
2728
|
+
if(p[pixel[13]] < c_b)
|
|
2729
|
+
if(p[pixel[14]] < c_b)
|
|
2730
|
+
if(p[pixel[15]] < c_b)
|
|
2731
|
+
{}
|
|
2732
|
+
else
|
|
2733
|
+
continue;
|
|
2734
|
+
else
|
|
2735
|
+
continue;
|
|
2736
|
+
else
|
|
2737
|
+
continue;
|
|
2738
|
+
else
|
|
2739
|
+
continue;
|
|
2740
|
+
else
|
|
2741
|
+
continue;
|
|
2742
|
+
else
|
|
2743
|
+
continue;
|
|
2744
|
+
else
|
|
2745
|
+
continue;
|
|
2746
|
+
else
|
|
2747
|
+
if(p[pixel[8]] < c_b)
|
|
2748
|
+
if(p[pixel[9]] < c_b)
|
|
2749
|
+
if(p[pixel[10]] < c_b)
|
|
2750
|
+
if(p[pixel[11]] < c_b)
|
|
2751
|
+
if(p[pixel[12]] < c_b)
|
|
2752
|
+
if(p[pixel[13]] < c_b)
|
|
2753
|
+
if(p[pixel[14]] < c_b)
|
|
2754
|
+
if(p[pixel[15]] < c_b)
|
|
2755
|
+
{}
|
|
2756
|
+
else
|
|
2757
|
+
continue;
|
|
2758
|
+
else
|
|
2759
|
+
continue;
|
|
2760
|
+
else
|
|
2761
|
+
continue;
|
|
2762
|
+
else
|
|
2763
|
+
continue;
|
|
2764
|
+
else
|
|
2765
|
+
continue;
|
|
2766
|
+
else
|
|
2767
|
+
continue;
|
|
2768
|
+
else
|
|
2769
|
+
continue;
|
|
2770
|
+
else
|
|
2771
|
+
continue;
|
|
2772
|
+
else
|
|
2773
|
+
if(p[pixel[7]] > cb)
|
|
2774
|
+
if(p[pixel[4]] > cb)
|
|
2775
|
+
if(p[pixel[5]] > cb)
|
|
2776
|
+
if(p[pixel[6]] > cb)
|
|
2777
|
+
if(p[pixel[8]] > cb)
|
|
2778
|
+
if(p[pixel[9]] > cb)
|
|
2779
|
+
if(p[pixel[10]] > cb)
|
|
2780
|
+
if(p[pixel[11]] > cb)
|
|
2781
|
+
if(p[pixel[12]] > cb)
|
|
2782
|
+
if(p[pixel[13]] > cb)
|
|
2783
|
+
if(p[pixel[14]] > cb)
|
|
2784
|
+
if(p[pixel[15]] > cb)
|
|
2785
|
+
{}
|
|
2786
|
+
else
|
|
2787
|
+
continue;
|
|
2788
|
+
else
|
|
2789
|
+
continue;
|
|
2790
|
+
else
|
|
2791
|
+
continue;
|
|
2792
|
+
else
|
|
2793
|
+
continue;
|
|
2794
|
+
else
|
|
2795
|
+
continue;
|
|
2796
|
+
else
|
|
2797
|
+
continue;
|
|
2798
|
+
else
|
|
2799
|
+
continue;
|
|
2800
|
+
else
|
|
2801
|
+
continue;
|
|
2802
|
+
else
|
|
2803
|
+
continue;
|
|
2804
|
+
else
|
|
2805
|
+
continue;
|
|
2806
|
+
else
|
|
2807
|
+
continue;
|
|
2808
|
+
else if(p[pixel[7]] < c_b)
|
|
2809
|
+
if(p[pixel[8]] < c_b)
|
|
2810
|
+
if(p[pixel[9]] < c_b)
|
|
2811
|
+
if(p[pixel[10]] < c_b)
|
|
2812
|
+
if(p[pixel[11]] < c_b)
|
|
2813
|
+
if(p[pixel[12]] < c_b)
|
|
2814
|
+
if(p[pixel[13]] < c_b)
|
|
2815
|
+
if(p[pixel[14]] < c_b)
|
|
2816
|
+
if(p[pixel[15]] < c_b)
|
|
2817
|
+
{}
|
|
2818
|
+
else
|
|
2819
|
+
continue;
|
|
2820
|
+
else
|
|
2821
|
+
continue;
|
|
2822
|
+
else
|
|
2823
|
+
continue;
|
|
2824
|
+
else
|
|
2825
|
+
continue;
|
|
2826
|
+
else
|
|
2827
|
+
continue;
|
|
2828
|
+
else
|
|
2829
|
+
continue;
|
|
2830
|
+
else
|
|
2831
|
+
continue;
|
|
2832
|
+
else
|
|
2833
|
+
continue;
|
|
2834
|
+
else
|
|
2835
|
+
continue;
|
|
2836
|
+
else
|
|
2837
|
+
if(p[pixel[6]] > cb)
|
|
2838
|
+
if(p[pixel[4]] > cb)
|
|
2839
|
+
if(p[pixel[5]] > cb)
|
|
2840
|
+
if(p[pixel[7]] > cb)
|
|
2841
|
+
if(p[pixel[8]] > cb)
|
|
2842
|
+
if(p[pixel[9]] > cb)
|
|
2843
|
+
if(p[pixel[10]] > cb)
|
|
2844
|
+
if(p[pixel[11]] > cb)
|
|
2845
|
+
if(p[pixel[12]] > cb)
|
|
2846
|
+
if(p[pixel[13]] > cb)
|
|
2847
|
+
if(p[pixel[14]] > cb)
|
|
2848
|
+
if(p[pixel[3]] > cb)
|
|
2849
|
+
{}
|
|
2850
|
+
else
|
|
2851
|
+
if(p[pixel[15]] > cb)
|
|
2852
|
+
{}
|
|
2853
|
+
else
|
|
2854
|
+
continue;
|
|
2855
|
+
else
|
|
2856
|
+
continue;
|
|
2857
|
+
else
|
|
2858
|
+
continue;
|
|
2859
|
+
else
|
|
2860
|
+
continue;
|
|
2861
|
+
else
|
|
2862
|
+
continue;
|
|
2863
|
+
else
|
|
2864
|
+
continue;
|
|
2865
|
+
else
|
|
2866
|
+
continue;
|
|
2867
|
+
else
|
|
2868
|
+
continue;
|
|
2869
|
+
else
|
|
2870
|
+
continue;
|
|
2871
|
+
else
|
|
2872
|
+
continue;
|
|
2873
|
+
else
|
|
2874
|
+
continue;
|
|
2875
|
+
else if(p[pixel[6]] < c_b)
|
|
2876
|
+
if(p[pixel[7]] < c_b)
|
|
2877
|
+
if(p[pixel[8]] < c_b)
|
|
2878
|
+
if(p[pixel[9]] < c_b)
|
|
2879
|
+
if(p[pixel[10]] < c_b)
|
|
2880
|
+
if(p[pixel[11]] < c_b)
|
|
2881
|
+
if(p[pixel[12]] < c_b)
|
|
2882
|
+
if(p[pixel[13]] < c_b)
|
|
2883
|
+
if(p[pixel[14]] < c_b)
|
|
2884
|
+
if(p[pixel[15]] < c_b)
|
|
2885
|
+
{}
|
|
2886
|
+
else
|
|
2887
|
+
if(p[pixel[3]] < c_b)
|
|
2888
|
+
if(p[pixel[4]] < c_b)
|
|
2889
|
+
if(p[pixel[5]] < c_b)
|
|
2890
|
+
{}
|
|
2891
|
+
else
|
|
2892
|
+
continue;
|
|
2893
|
+
else
|
|
2894
|
+
continue;
|
|
2895
|
+
else
|
|
2896
|
+
continue;
|
|
2897
|
+
else
|
|
2898
|
+
continue;
|
|
2899
|
+
else
|
|
2900
|
+
continue;
|
|
2901
|
+
else
|
|
2902
|
+
continue;
|
|
2903
|
+
else
|
|
2904
|
+
continue;
|
|
2905
|
+
else
|
|
2906
|
+
continue;
|
|
2907
|
+
else
|
|
2908
|
+
continue;
|
|
2909
|
+
else
|
|
2910
|
+
continue;
|
|
2911
|
+
else
|
|
2912
|
+
continue;
|
|
2913
|
+
else
|
|
2914
|
+
continue;
|
|
2915
|
+
else
|
|
2916
|
+
if(p[pixel[5]] > cb)
|
|
2917
|
+
if(p[pixel[4]] > cb)
|
|
2918
|
+
if(p[pixel[6]] > cb)
|
|
2919
|
+
if(p[pixel[7]] > cb)
|
|
2920
|
+
if(p[pixel[8]] > cb)
|
|
2921
|
+
if(p[pixel[9]] > cb)
|
|
2922
|
+
if(p[pixel[10]] > cb)
|
|
2923
|
+
if(p[pixel[11]] > cb)
|
|
2924
|
+
if(p[pixel[12]] > cb)
|
|
2925
|
+
if(p[pixel[13]] > cb)
|
|
2926
|
+
if(p[pixel[3]] > cb)
|
|
2927
|
+
if(p[pixel[2]] > cb)
|
|
2928
|
+
{}
|
|
2929
|
+
else
|
|
2930
|
+
if(p[pixel[14]] > cb)
|
|
2931
|
+
{}
|
|
2932
|
+
else
|
|
2933
|
+
continue;
|
|
2934
|
+
else
|
|
2935
|
+
if(p[pixel[14]] > cb)
|
|
2936
|
+
if(p[pixel[15]] > cb)
|
|
2937
|
+
{}
|
|
2938
|
+
else
|
|
2939
|
+
continue;
|
|
2940
|
+
else
|
|
2941
|
+
continue;
|
|
2942
|
+
else
|
|
2943
|
+
continue;
|
|
2944
|
+
else
|
|
2945
|
+
continue;
|
|
2946
|
+
else
|
|
2947
|
+
continue;
|
|
2948
|
+
else
|
|
2949
|
+
continue;
|
|
2950
|
+
else
|
|
2951
|
+
continue;
|
|
2952
|
+
else
|
|
2953
|
+
continue;
|
|
2954
|
+
else
|
|
2955
|
+
continue;
|
|
2956
|
+
else
|
|
2957
|
+
continue;
|
|
2958
|
+
else
|
|
2959
|
+
continue;
|
|
2960
|
+
else if(p[pixel[5]] < c_b)
|
|
2961
|
+
if(p[pixel[6]] < c_b)
|
|
2962
|
+
if(p[pixel[7]] < c_b)
|
|
2963
|
+
if(p[pixel[8]] < c_b)
|
|
2964
|
+
if(p[pixel[9]] < c_b)
|
|
2965
|
+
if(p[pixel[10]] < c_b)
|
|
2966
|
+
if(p[pixel[11]] < c_b)
|
|
2967
|
+
if(p[pixel[12]] < c_b)
|
|
2968
|
+
if(p[pixel[13]] < c_b)
|
|
2969
|
+
if(p[pixel[14]] < c_b)
|
|
2970
|
+
if(p[pixel[15]] < c_b)
|
|
2971
|
+
{}
|
|
2972
|
+
else
|
|
2973
|
+
if(p[pixel[3]] < c_b)
|
|
2974
|
+
if(p[pixel[4]] < c_b)
|
|
2975
|
+
{}
|
|
2976
|
+
else
|
|
2977
|
+
continue;
|
|
2978
|
+
else
|
|
2979
|
+
continue;
|
|
2980
|
+
else
|
|
2981
|
+
if(p[pixel[2]] < c_b)
|
|
2982
|
+
if(p[pixel[3]] < c_b)
|
|
2983
|
+
if(p[pixel[4]] < c_b)
|
|
2984
|
+
{}
|
|
2985
|
+
else
|
|
2986
|
+
continue;
|
|
2987
|
+
else
|
|
2988
|
+
continue;
|
|
2989
|
+
else
|
|
2990
|
+
continue;
|
|
2991
|
+
else
|
|
2992
|
+
continue;
|
|
2993
|
+
else
|
|
2994
|
+
continue;
|
|
2995
|
+
else
|
|
2996
|
+
continue;
|
|
2997
|
+
else
|
|
2998
|
+
continue;
|
|
2999
|
+
else
|
|
3000
|
+
continue;
|
|
3001
|
+
else
|
|
3002
|
+
continue;
|
|
3003
|
+
else
|
|
3004
|
+
continue;
|
|
3005
|
+
else
|
|
3006
|
+
continue;
|
|
3007
|
+
else
|
|
3008
|
+
continue;
|
|
3009
|
+
else
|
|
3010
|
+
if(p[pixel[4]] > cb)
|
|
3011
|
+
if(p[pixel[5]] > cb)
|
|
3012
|
+
if(p[pixel[6]] > cb)
|
|
3013
|
+
if(p[pixel[7]] > cb)
|
|
3014
|
+
if(p[pixel[8]] > cb)
|
|
3015
|
+
if(p[pixel[9]] > cb)
|
|
3016
|
+
if(p[pixel[10]] > cb)
|
|
3017
|
+
if(p[pixel[11]] > cb)
|
|
3018
|
+
if(p[pixel[12]] > cb)
|
|
3019
|
+
if(p[pixel[3]] > cb)
|
|
3020
|
+
if(p[pixel[2]] > cb)
|
|
3021
|
+
if(p[pixel[1]] > cb)
|
|
3022
|
+
{}
|
|
3023
|
+
else
|
|
3024
|
+
if(p[pixel[13]] > cb)
|
|
3025
|
+
{}
|
|
3026
|
+
else
|
|
3027
|
+
continue;
|
|
3028
|
+
else
|
|
3029
|
+
if(p[pixel[13]] > cb)
|
|
3030
|
+
if(p[pixel[14]] > cb)
|
|
3031
|
+
{}
|
|
3032
|
+
else
|
|
3033
|
+
continue;
|
|
3034
|
+
else
|
|
3035
|
+
continue;
|
|
3036
|
+
else
|
|
3037
|
+
if(p[pixel[13]] > cb)
|
|
3038
|
+
if(p[pixel[14]] > cb)
|
|
3039
|
+
if(p[pixel[15]] > cb)
|
|
3040
|
+
{}
|
|
3041
|
+
else
|
|
3042
|
+
continue;
|
|
3043
|
+
else
|
|
3044
|
+
continue;
|
|
3045
|
+
else
|
|
3046
|
+
continue;
|
|
3047
|
+
else
|
|
3048
|
+
continue;
|
|
3049
|
+
else
|
|
3050
|
+
continue;
|
|
3051
|
+
else
|
|
3052
|
+
continue;
|
|
3053
|
+
else
|
|
3054
|
+
continue;
|
|
3055
|
+
else
|
|
3056
|
+
continue;
|
|
3057
|
+
else
|
|
3058
|
+
continue;
|
|
3059
|
+
else
|
|
3060
|
+
continue;
|
|
3061
|
+
else
|
|
3062
|
+
continue;
|
|
3063
|
+
else if(p[pixel[4]] < c_b)
|
|
3064
|
+
if(p[pixel[5]] < c_b)
|
|
3065
|
+
if(p[pixel[6]] < c_b)
|
|
3066
|
+
if(p[pixel[7]] < c_b)
|
|
3067
|
+
if(p[pixel[8]] < c_b)
|
|
3068
|
+
if(p[pixel[9]] < c_b)
|
|
3069
|
+
if(p[pixel[10]] < c_b)
|
|
3070
|
+
if(p[pixel[11]] < c_b)
|
|
3071
|
+
if(p[pixel[12]] < c_b)
|
|
3072
|
+
if(p[pixel[3]] < c_b)
|
|
3073
|
+
if(p[pixel[2]] < c_b)
|
|
3074
|
+
if(p[pixel[1]] < c_b)
|
|
3075
|
+
{}
|
|
3076
|
+
else
|
|
3077
|
+
if(p[pixel[13]] < c_b)
|
|
3078
|
+
{}
|
|
3079
|
+
else
|
|
3080
|
+
continue;
|
|
3081
|
+
else
|
|
3082
|
+
if(p[pixel[13]] < c_b)
|
|
3083
|
+
if(p[pixel[14]] < c_b)
|
|
3084
|
+
{}
|
|
3085
|
+
else
|
|
3086
|
+
continue;
|
|
3087
|
+
else
|
|
3088
|
+
continue;
|
|
3089
|
+
else
|
|
3090
|
+
if(p[pixel[13]] < c_b)
|
|
3091
|
+
if(p[pixel[14]] < c_b)
|
|
3092
|
+
if(p[pixel[15]] < c_b)
|
|
3093
|
+
{}
|
|
3094
|
+
else
|
|
3095
|
+
continue;
|
|
3096
|
+
else
|
|
3097
|
+
continue;
|
|
3098
|
+
else
|
|
3099
|
+
continue;
|
|
3100
|
+
else
|
|
3101
|
+
continue;
|
|
3102
|
+
else
|
|
3103
|
+
continue;
|
|
3104
|
+
else
|
|
3105
|
+
continue;
|
|
3106
|
+
else
|
|
3107
|
+
continue;
|
|
3108
|
+
else
|
|
3109
|
+
continue;
|
|
3110
|
+
else
|
|
3111
|
+
continue;
|
|
3112
|
+
else
|
|
3113
|
+
continue;
|
|
3114
|
+
else
|
|
3115
|
+
continue;
|
|
3116
|
+
else
|
|
3117
|
+
continue;
|
|
3118
|
+
if(num_corners == rsize)
|
|
3119
|
+
{
|
|
3120
|
+
rsize*=2;
|
|
3121
|
+
ret_corners = (xy*)realloc(ret_corners, sizeof(xy)*rsize);
|
|
3122
|
+
}
|
|
3123
|
+
|
|
3124
|
+
ret_corners[num_corners].x = x;
|
|
3125
|
+
ret_corners[num_corners].y = y;
|
|
3126
|
+
num_corners++;
|
|
3127
|
+
}
|
|
3128
|
+
|
|
3129
|
+
*ret_num_corners = num_corners;
|
|
3130
|
+
return ret_corners;
|
|
3131
|
+
|
|
3132
|
+
}
|
|
3133
|
+
|
|
3134
|
+
|