![](/img/trans.png)
[英]How to find duplicates in a Python list of lists which elements are numpy.ndarray of shape (9, 103)
[英]Sorting a list which contains numpy.ndarray elements PYTHON
我正在研究计算机视觉项目,我想问你一件事。 我用cv2.findContours()
则该方法approxPolyDP()
我必须为每一个形状4-4检测到的边缘。 图片上有三个矩形彼此相邻。 问题是,我想根据第一个x,y坐标对列表进行排序。 从左到右。
谢谢!
contours, _ = cv2.findContours(raw_image2, cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
contour_list = []
for contour in contours:
approx= cv2.approxPolyDP(contour,0.1*cv2.arcLength(contour,True),True)
contur_list.append(approx)
[array([[[383, 22]],
[[384, 127]],
[[492, 127]],
[[491, 20]]], dtype=int32), array([[[ 54, 16]],
[[ 52, 123]],
[[160, 124]],
[[160, 17]]], dtype=int32), array([[[222, 14]],
[[220, 124]],
[[328, 125]],
[[328, 15]]], dtype=int32)]
这是未排序的输出,但我希望是这样的:
[array([[[ 54, 16]],
[[ 52, 123]],
[[160, 124]],
[[160, 17]]],dtype=int32), array([[[222, 14]],
[[220, 124]],
[[328, 125]],
[[328, 15]]], dtype=int32), array([[[383, 22]],
[[384, 127]],
[[492, 127]],
[[491, 20]]], dtype=int32)]
尝试sorted
如下方式sorted
的内置函数:
sorted(contur_list, key=lambda approx: approx[0,0,0])
这里key
参数指定在进行比较之前在每个列表元素上调用的函数。 如果您想要排序列表的反转版本,可以调用reversed
函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.