add flashing and flashing_end_point
Browse files- handcrafted_solution.py +25 -2
handcrafted_solution.py
CHANGED
@@ -399,7 +399,29 @@ def get_vertices_and_edges_from_two_segmentations(ade_seg_np, gest_seg_np, edge_
|
|
399 |
apex_map[uu+ss[0], vv+ss[1]] = (255,0,0)
|
400 |
apex_map_on_ade[uu+ss[0], vv+ss[1]] = (255,0,0)
|
401 |
apex_map_on_gest[uu+ss[0], vv+ss[1]] = (255,0,0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
# imsave apex and eave_end
|
404 |
if DUMP_IMG:
|
405 |
import random
|
@@ -466,7 +488,8 @@ def get_vertices_and_edges_from_two_segmentations(ade_seg_np, gest_seg_np, edge_
|
|
466 |
conn = []
|
467 |
# Plot all possible connection pixels in one mask
|
468 |
mask = cv2.bitwise_or(apex_mask, eave_end_mask)
|
469 |
-
for edge_class in ['eave', 'ridge', 'rake', 'valley', 'step_flashing']:
|
|
|
470 |
edge_color = np.array(gestalt_color_mapping[edge_class])
|
471 |
mask_e = cv2.morphologyEx(cv2.inRange(gest_seg_np,
|
472 |
edge_color-color_th,
|
@@ -751,7 +774,7 @@ def predict(entry, visualize=False, prune_dist_thr=600, depth_scale=2.5, ) -> Tu
|
|
751 |
depth_scale = 2.5
|
752 |
elif i==2: # only visualize view 0,1
|
753 |
continue
|
754 |
-
|
755 |
if i!=0:
|
756 |
continue
|
757 |
'''
|
|
|
399 |
apex_map[uu+ss[0], vv+ss[1]] = (255,0,0)
|
400 |
apex_map_on_ade[uu+ss[0], vv+ss[1]] = (255,0,0)
|
401 |
apex_map_on_gest[uu+ss[0], vv+ss[1]] = (255,0,0)
|
402 |
+
|
403 |
+
flashing_end_color = np.array(gestalt_color_mapping['flashing_end_point'])
|
404 |
+
flashing_end_mask = cv2.inRange(gest_seg_np, flashing_end_color-color_th/2, flashing_end_color+color_th/2) # this color is sensitive
|
405 |
+
if flashing_end_color.sum() > 0:
|
406 |
+
output = cv2.connectedComponentsWithStats(flashing_end_mask, 8, cv2.CV_32S)
|
407 |
+
(numLabels, labels, stats, centroids) = output
|
408 |
+
stats, centroids = stats[1:], centroids[1:]
|
409 |
+
for i in range(numLabels-1):
|
410 |
+
vert = {"xy": centroids[i], "type": "flashing_end_point"}
|
411 |
+
vertices.append(vert)
|
412 |
|
413 |
+
uu = int(centroids[i][1])
|
414 |
+
vv = int(centroids[i][0])
|
415 |
+
# plot a cross
|
416 |
+
apex_map_on_ade[uu, vv] = (255,0,0)
|
417 |
+
shift=[(1,0),(-1,0),(0,1),(0,-1), (2,0),(-2,0),(0,2),(0,-2), (3,0),(-3,0),(0,3),(0,-3)]
|
418 |
+
h,w,_ = apex_map_on_ade.shape
|
419 |
+
for ss in shift:
|
420 |
+
if uu+ss[0] >= 0 and uu+ss[0] < h and vv+ss[1] >= 0 and vv+ss[1] < w:
|
421 |
+
apex_map[uu+ss[0], vv+ss[1]] = (255,0,0)
|
422 |
+
apex_map_on_ade[uu+ss[0], vv+ss[1]] = (255,0,0)
|
423 |
+
apex_map_on_gest[uu+ss[0], vv+ss[1]] = (255,0,0)
|
424 |
+
''''''
|
425 |
# imsave apex and eave_end
|
426 |
if DUMP_IMG:
|
427 |
import random
|
|
|
488 |
conn = []
|
489 |
# Plot all possible connection pixels in one mask
|
490 |
mask = cv2.bitwise_or(apex_mask, eave_end_mask)
|
491 |
+
#for edge_class in ['eave', 'ridge', 'rake', 'valley', 'step_flashing' ]:#, 'flashing']:
|
492 |
+
for edge_class in ['eave', 'ridge', 'rake', 'valley', 'step_flashing' , 'flashing']:
|
493 |
edge_color = np.array(gestalt_color_mapping[edge_class])
|
494 |
mask_e = cv2.morphologyEx(cv2.inRange(gest_seg_np,
|
495 |
edge_color-color_th,
|
|
|
774 |
depth_scale = 2.5
|
775 |
elif i==2: # only visualize view 0,1
|
776 |
continue
|
777 |
+
|
778 |
if i!=0:
|
779 |
continue
|
780 |
'''
|