在python列表中选择一个没有逗号分隔的元素

时间:2018-09-28 19:37:21

标签: python opencv numpy-ndarray

我有一个这样的列表:

[[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

2 个答案:

答案 0 :(得分:0)

  

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

了解有关Common Sequence Operations

的信息
  

docs.opencv.org
   Python:cv2.CascadeClassifier.detectMultiScale2 (图像[,scaleFactor [,minNeighbors [,flags,minSize [,maxSize]]]]]])→对象,numDetections

     

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

此调用返回两个对象,您可以将其拆分,例如:

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

objects, numDetections =  faces

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

答案 1 :(得分:-1)

假设您是用strinh代替列表,则可以执行以下操作

import json

test="[[437   5  91  91] [331 303 155 155]]"

#convert the multiple whitespace to single white space
test=' '.join(test.split())

#replace whitespace with comma
test=test.replace(" ",",")

#make a list of it
lists = json.loads(test)

print(lists[0])