以下方法将表示2D空间中矩形的元组列表转换为相应的中心点:
def centers(xywh):
return map(lambda xywh: [xywh[0]+xywh[2]/2.0,xywh[1]+xywh[3]/2.0], xywh)
为了挑战自己我想做同样的事情,除了我将每个矩形映射到它的4个角落。类似的东西:
def corners(xywh):
return map(lambda xywh: [[xywh[0],xywh[1]],[xywh[0],xywh[1]+xywh[3]],[xywh[0]+xywh[2],xywh[1]+xywh[3]],[xywh[0]+xywh[2],xywh[1]]] , xywh)
现在的问题是我试图将矩形映射到点列表,而不是列出“4点列表”。我该怎么做?
答案 0 :(得分:0)
解决方案是将4点列表的列表减少到一个点列表
def corners(xywh):
t=map(lambda xywh: [[xywh[0],xywh[1]],[xywh[0],xywh[1]+xywh[3]],[xywh[0]+xywh[2],xywh[1]+xywh[3]],[xywh[0]+xywh[2],xywh[1]]] , xywh)
return reduce(lambda a,b: a+b, t)