OpenCV的Contrib模块
时间: 2023-08-21 13:05:09 浏览: 112
opencv-contrib-3.2.0
OpenCV的Contrib模块是OpenCV的一个扩展模块,包含了许多实验性或不稳定的功能,例如目标检测、人脸识别、场景分割等。这些功能不属于OpenCV的核心部分,但是可以为许多应用程序提供有用的功能。
要使用OpenCV的Contrib模块,需要安装`opencv-contrib-python`包(如我在上一个问题中所提到的)。安装完成后,可以使用以下代码加载和使用Contrib模块中的功能:
```
import cv2
# 加载目标检测器
detector = cv2.dnn.readNetFromTensorflow('detector.pb')
# 加载图像并进行目标检测
img = cv2.imread('image.jpg')
blob = cv2.dnn.blobFromImage(img, scalefactor=1.0, size=(300, 300), mean=(104.0, 177.0, 123.0))
detector.setInput(blob)
detections = detector.forward()
# 显示检测结果
for i in range(detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.5:
x1 = int(detections[0, 0, i, 3] * img.shape[1])
y1 = int(detections[0, 0, i, 4] * img.shape[0])
x2 = int(detections[0, 0, i, 5] * img.shape[1])
y2 = int(detections[0, 0, i, 6] * img.shape[0])
cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.imshow('Detection', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个例子使用了OpenCV的Contrib模块中的目标检测器来检测图像中的物体,并在图像上绘制检测结果的边界框。
阅读全文