【发布时间】:2016-07-14 13:29:54
【问题描述】:
我正在通过编写我在 youtube 上找到的简单人脸识别程序来自学如何使用 openCV。我已经安装了opencv version 2 和numpy 1.8.0。我正在使用python 2.7。
我完全按照下面的视频和文章链接中的方式复制了这段代码,但我不断收到错误。
AttributeError: 'module' 对象没有属性 'cv'
我做错了什么? 这是我正在使用的代码。
import cv2
import sys
# Get user supplied values
imagePath = sys.argv[1]
cascPath = sys.argv[2]
# Create the haar cascade
faceCascade = cv2.CascadeClassifier(cascPath)
# Read the image
image = cv2.imread(imagePath)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Detect faces in the image
faces = (faceCascade.detectMultiScale(
gray,
scaleFactor=1.1,
minNeighbors=5,
minSize=(30, 30),
flags = cv2.cv.CV_HAAR_SCALE_IMAGE)
)
print "Found {0} faces!".format(len(faces))
# Draw a rectangle around the faces
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.imshow("Faces found", image)
cv2.waitKey(0)
https://www.youtube.com/watch?v=IiMIKKOfjqE
https://realpython.com/blog/python/face-recognition-with-python/
【问题讨论】:
-
出现错误,看来您使用的是 OpenCV 3.x,而不是 OpenCV 2.x。在 python 解释器中,发出命令
cv2.__version__进行验证。
标签: python opencv numpy face-recognition