我想使用 SIFT、SURF 等功能。我在带有 OpenCV 3.4.1 并使用 PyCharm 作为 IDE 的虚拟机上使用 Ubuntu 16.04。
我可以打开 Pycharm,创建一个项目,转到文件 - 设置 - 项目解释器并下载我需要的模块。我已经下载了 opencv-python 和 opencv-contrib-python。
但是我仍然无法使用上述功能。
请帮忙。谢谢。
OpenCV-Python 版本 3.4.1
我正在尝试通过相机检测多个物体。对象是脸、眼睛、勺子、笔。Spoon 和 Pen 是特别的,即它应该只检测我用它训练过的 Pen 和 Spoon。但是它可以检测所有类型的面部和眼睛,因为我使用了 OpenCV-Python 附带的“.xml”文件进行面部和眼睛检测。
我的问题是关于代码。下面我的代码中有一行写着detectMultiScale(gray, 1.3, 10)。现在,我使用了文档,仍然无法清楚地理解括号的最后两个参数。
我的代码:
# with camera feed
import cv2
import numpy as np
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
spoon_cascade = cv2.CascadeClassifier('SpoonCascade.xml')
pen_cascade = cv2.CascadeClassifier('PenCascade.xml')
cap = cv2.VideoCapture('link')
while True:
ret, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
spoons = spoon_cascade.detectMultiScale(gray, 1.3, 10)
pens = pen_cascade.detectMultiScale(gray, 1.3, 10)
for (x, y, w, h) in spoons:
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img, 'Spoon', (x-w, y-h), …Run Code Online (Sandbox Code Playgroud) opencv object-detection cascade-classifier opencv3.0 opencv-python