python-3.x - 为什么sorted(contour)[0]与sorted(contour)[:1]不同

标签 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]

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

最佳答案

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/

相关文章:

python - Python 中的高级/抽象 Canbus 接口(interface)

python - 装饰递归函数

c++ - 在框架上绘制矩形

opencv - 在实时视频上提取颜色之前的直方图均衡

Python OpenCV 如何去除行与行之间的空格

graphics - 如果相机平面对齐,我需要纠正吗?

python - "TypeError: Unsupported type <class ' 列表 '> in write()"

python - 在 python 中提交后是否可以回滚 sqlite3 更改

matlab - OpenCV-如何使用C++计算黎曼距离?

node.js - 我可以在 NodeJs 中使用 Sharp 直接处理缓冲区数据吗