def selectBlob(self, mouseXY):
# Detect blobs on binary tmp_BI (0, 255)
tmp_BI = np.zeros(self.final_BI.shape, np.uint8)
tmp_BI[self.final_BI == self.cur_line_label] = 255
all_labels = measure.label(tmp_BI, background=0)
props = measure.regionprops(all_labels, tmp_BI)
coord_RC = []
coord_XY = []
rect = [] # [min_r, max_r, min_c, max_c]
for prop in props:
## bbox: tuple (min_r, min_c, max_r, max_c)
min_r, min_c, max_r, max_c = prop.bbox
if mouseXY[0] >= min_c and mouseXY[0] <= max_c and mouseXY[1] >= min_r and mouseXY[1] <= max_r:
print "got one blob !!!!"
coord_RC = prop.coords.tolist()
rect = [min_r, max_r, min_c, max_c]
break
## [row, col] to [x, y]
for RC in coord_RC:
coord_XY.append([RC[1], RC[0]])
# print coord_XY
return coord_XY, rect
评论列表
文章目录