首页 > 解决方案 > 在没有逗号分隔的python列表中选择一个元素

问题描述

我有一个这样的列表:

[[437   5  91  91]
 [331 303 155 155]]

如何选择此列表中的第一个或第二个元素?我想要的输出:

[437   5  91  91]

我的相机中有两张脸进行人脸检测,然后我的输出中有这个列表:

face_cascade = cv2.CascadeClassifier(PATH) 
.... 
faces = face_cascade.detectMultiScale( gray, 
                                       scaleFactor=1.2, 
                                       minNeighbors=10, 
                                       minSize=(self.face_size, self.face_size) 
                                      )

当我打印(面孔)时,我有这个输出,我想选择其中一个元素。

type(faces) gives `<class 'numpy.ndarray'>` this is type of faces

标签: pythonopencvnumpy-ndarray

解决方案


问题:我想选择其中一个元素。

阅读常见的序列操作


docs.opencv.org
Python: cv2.CascadeClassifier.detectMultiScale2 (image[, scaleFactor[, minNeighbors[, flags[, minSize[, maxSize]]]]]) → objects, numDetections

检测输入图像中不同大小的对象。
检测到的对象作为矩形列表返回。

这个调用返回两个对象,你可以拆分它,例如:

objects, numDetections =  cv2.CascadeClassifier.detectMultiScale2(...

或者

objects, numDetections =  faces

或者

objects = faces[0]
numDetections =  faces[1]

推荐阅读