python opencv图像识别目标类别、目标框算法,存储到list中。
时间: 2024-02-23 19:03:14 浏览: 156
下面是一个使用OpenCV进行目标检测并将结果存储到列表中的示例代码:
```python
import cv2
# 加载分类器
classifier = cv2.CascadeClassifier('path/to/classifier.xml')
# 加载图像
img = cv2.imread('path/to/image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测目标
targets = classifier.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5)
# 存储目标框和目标类别到列表中
results = []
for (x, y, w, h) in targets:
results.append({
'class': 'object',
'box': (x, y, x+w, y+h)
})
# 输出结果
print(results)
```
在上面的代码中,我们首先使用`cv2.CascadeClassifier`加载分类器,然后使用`cv2.imread`加载图像。接着,我们将图像转换为灰度图像,并使用`classifier.detectMultiScale`检测目标。最后,我们遍历检测到的目标,将目标框和目标类别存储到列表中,最终输出结果。
注意,这里的目标类别是固定的,可以根据具体需求进行修改。此外,也可以使用其他目标检测算法,如HOG+SVM、DNN等。
阅读全文