###前提・実現したいこと
opencvで顔認証した後にモザイク処理をするプログラムを作ろうとしています。
###発生している問題・エラーメッセージ
開いたloadedが応答しません
AttributeError
1<ipython-input-1-52cb7ef26d6b> in <module>() 2 14 3 15 #分類器で顔を認識する 4---> 16 face = face_cascade.detectMultiScale(gray,1.3,5) 5 17 6 18 if 0 < len(face): 7 8AttributeError: 'str' object has no attribute 'detectMultiScale' 9 10In [ ]: 11 12``` 13 14###該当のソースコード 15```python 16import numpy as np 17import cv2 18 19#顔探索用のカスケード型分類器を取得するためにフォルダから探してアドレス指定 20face_cascade = "C:/Users/wakimoto/Anaconda2/Library/etc/haarcascades/haarcascade_frontalface_default.xml" 21 #フルアドで指定 22img = cv2.imread("C:/Users/wakimoto/testimg/face.jpg") 23result = cv2.imread("C:/Users/wakimoto/testimg/face.jpg") 24 25cv2.imshow("loaded", img) 26#読み込んだ画像をグレースケールに変換 27gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY) 28 29#分類器で顔を認識する 30face = face_cascade.detectMultiScale(gray,1.3,5) 31 32if 0 < len(face): 33 34 print "get face" 35 36 for (x,y,w,h) in face: 37 38 #顔の部分だけ切り抜いてモザイク処理をする 39 cut_img = img[y:y+h,x:x+w] 40 cut_face = cut_img.shape[:2][::-1] 41 #10分の1にする 42 cut_img = cv2.resize(cut_img,(cut_face[0]/10, cut_face[0]/10)) 43 #画像を元のサイズに拡大 44 cut_img = cv2.resize(cut_img,cut_face,interpolation = cv2.cv.CV_INTER_NN) 45 46 #モザイク処理した部分を重ねる 47 result[y:y+h,x:x+w] = cut_img 48 49else: 50 51 print "no face" 52 53 54cv2.imshow("face mosaic",result) 55#cv2.imwrite("output file name",result) 56cv2.waitKey(0) 57cv2.destroyAllWindows() 58
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
opencv2.4,python2
質問文のソースコードは自作ソースコードですか、それともどこかから流用したソースコードですか?
文字通りface_cascade変数が定義されていません。定義が必要ですのでその部分のソースを提示ください。
ほとんどサイトで公開されたものからの流用です(元アドレス忘れた)
流用元アドレスを探して提示ください(face_cascadeで検索すればよいのでは?)
流用元を参考に修正したうえで解決すれば自己回答を、エラーなど発生した場合は質問に追記ください。