Attribute error while using opencv for face recognition
Question: I am teaching myself how to use openCV by writing a simple face recognition
program I found on youtube. I have installed opencv version 2 as well as numpy
1.8.0. I am using python2.7.

I copyed this code exactly how it was done in the video and article links
below, yet I keep getting errors. AttributeError: 'module' object has no
attribute 'cv' What am I doing wrong?

Here is the code I'm using.

    
    
    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/>


Answer: The latest openCV no longer allows importing the legacy `cv` module.
Furthermore the naming convention of the constants generally does away with
the leading "CV_..." and several/many of the names have been altered somewhat.
I think you are running into both problems.

Specifically, the error you are reporting is in regards to this expression in
your code: `cv2.cv.CV_HAAR_SCALE_IMAGE`. This expression is trying to find the
named constant `CV_HAAR_SCALE_IMAGE` within the `cv` submodule of the `cv2`
package you imported. But alas, there is no cv2.cv anymore.

In openCV 3, I believe this constant is now referenced as follows:
`cv2.CASCADE_SCALE_IMAGE`

Also, you may find [this
link](https://github.com/Itseez/opencv/blob/master/samples/python/facedetect.py)
useful. It is to the facedetect.py sample script found in the OpenCV source
code. You can see the usage of the new constant name in this example, and you
may also inspect it for other changes from older sources/tutorials.

