def getRotMat(verts):
"""
find the table and do calibration
:param verts: see depthToXYZ
:return:
author: weiwei
date: 20170711
"""
cutverts = []
for vert in verts:
if vert[0] < 700.0 and vert[0] > -700.0:
if vert[1] < 200.0 and vert[1] > -600.0:
if vert[2] < -1000.0 and vert[2] > -1500.0:
cutverts.append([vert[0], vert[1], vert[2]])
# clustering using DBSCAN
X = np.array(cutverts)
db = DBSCAN(eps=20, min_samples = 100, n_jobs = -1).fit(X)
print db.labels_
core_samples_mask = np.zeros_like(db.labels_, dtype=bool)
core_samples_mask[db.core_sample_indices_] = True
labels = db.labels_
returnvertslist = []
unique_labels = set(labels)
for k in unique_labels:
class_member_mask = (labels == k)
print class_member_mask, core_samples_mask
xyzlist = X[class_member_mask & core_samples_mask]
print xyzlist
returnvertslist.append(xyzlist.tolist())
return returnvertslist
# return verts
评论列表
文章目录