我有一个这样的列表:
[[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
答案 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])