为什么sorted(contour)[0]与sorted(contour)[:1]不同

时间:2018-08-08 09:22:25

标签: python-3.x opencv image-processing opencv3.0

我正在尝试在包含2个轮廓的图像中找到最大的轮廓,其中之一不是闭合线。等高线是从图像的边缘切出的。另一个靠近并且由一个区域组成。

roi_cnts = sorted(roi_cnts, key = cv2.contourArea, reverse = True)[:1]

不同于

roi_cnts = max(roi_cnts, key=cv2.contourArea)
#or
roi_cnts = sorted(roi_cnts, key = cv2.contourArea, reverse = True)[0]

我不明白为什么这两种方法会有不同的结果。

1 个答案:

答案 0 :(得分:2)

切片符号[:1]产生一个包含第一个元素的1-list。键符号[0]产生第一个元素,但不在列表中。

>>> mylist = range (10)
>>> mylist[:1]
[0]
>>> mylist[0]
0