21784


画像をグレイスケールに変換しようといましたがcvが見当たらないというエラーがでてしまいました。

**エラー**

[code]

    Traceback (most recent call last):
      File "face_recognition.py", line 13, in <module>
        image_gray = cv2.cvtColor(image, cv2.cv.CV_BGR2GRAY)
    AttributeError: 'module' object has no attribute 'cv'
    
[/code]

**コード**

[code]

    #conding:utf-8
    
    import cv2
    
    cascade_path = "/usr/local/opt/opencv3/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml"
    
    image_path = "lena.png"
    
    color = (255, 255, 255)
    
    image = cv2.imread(image_path)
    
    image_gray = cv2.cvtColor(image, cv2.cv.CV_BGR2GRAY)
    
    cascade = cv2.CascadeClassifier(cascade_path)
    
    facerect = cascade.detectMultiScale(image_gray, scaleFactor=1.1, minNeighborsi=3, minSize=(1,1))
    
    print "face rectangle"
    print facerect
    
    if len(facerect) > 0:
        for rect in facerect:
            cv2.rectangle(image, tuple(rect[0:2]), tuple(rect[0:2]+rect[2:4]), color, thickness=2)
    
        cv2.imwrite("detected.jpg", image)
    
[/code]

おそらく`/usr/local/Cellar/opencv3/3.0.0/lib/python2.7/site-
packages/`下のcv.pyをvirtualenv環境のsite-
packageにシンボリックリンクを貼ればいいと思いますが、そのcv.pyがありませんでした(cv2.soはあったのでリンクをはりました)。  
どのようにすればいいのでしょうか。

環境  
Mac OSX Elcaptan  
virtualenv使用(Python 2.7)  
opencv3をHomebrewでインストール済み


CC BY-SA 3.0
2016-02-06T09:32:10.883
21773
2021-01-18T12:37:23.787
2021-01-18T12:37:23.787
3060
7232
question
python opencv python2
Python2のOpenCV3でエラー


OpenCV3では名前空間が整理されて`cv2.cv.CV_BGR2GRAY`は`cv2.COLOR_BGR2GRAY`になりました。他のcv2.cv.CV_...もこんな感じで移行されています。それで見つからない場合はマニュアルを検索してください。


CC BY-SA 3.0
2016-02-06T16:11:28.410
21784
2016-02-06T16:11:28.410
7837
21773
answer