我试图在包含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]
我不明白为什么这两种方法会有不同的结果。
最佳答案
slice 符号[:1]
产生一个包含第一个元素的1-list。键符号[0]
产生第一个元素,但不在列表中。
>>> mylist = range (10)
>>> mylist[:1]
[0]
>>> mylist[0]
0
关于python-3.x - 为什么sorted(contour)[0]与sorted(contour)[:1]不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51743018/