主にプログラミングに関して。Python, .NET Framework(C#), JavaScript, その他いくらか。
記事にあるサンプルやコードは要検証。使用に際しては責任を負いかねます

スポンサーサイト

                
tags:
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

opencv2.1 : facedetect.py error opencvに入っている顔認識

                
tags: python opencv
opencv2.1のfacedetect.pyを実行してもエラーが返ってきた。ちなみにpyscripterでファイルを開いてポチッと実行したときのこと。

Traceback (most recent call last):
File "", line 245, in run_nodebug
File "C:\OpenCV2.1\samples\python\facedetect.py", line 63, in
cascade = cv.Load(options.cascade)
TypeError: OpenCV returned NULL


とりあえず変数”options.cascade”が何を指しているか確認。
'../data/haarcascades/haarcascade_frontalface_alt.xml'
↑を指していた。これはインストールしたopencv2.1のディレクトリ下にある。しかし起動直後のpyscripterは別のディレクトリを指している。その状態でスクリプトを走らせてもそりゃエラーが返ってくる。

というわけで63行目だけをフルパス指定に修正。見つからなきゃhaarcascade_frontalface_alt.xmlをファイル検索掛けて探して、フルパスでいれてしまうのが原始的だけど確実。
*************
修正前:cascade = cv.Load(options.cascade)
修正後:cascade = cv.Load(r'C:\OpenCV2.1\data\haarcascades\haarcascade_frontalface_alt.xml')
*************
これで”TypeError: OpenCV returned NULL”がクリアされます。

実行したら”使用するカメラなどを引数で指定してね”と返ってきた。コマンドプロンプトを立ち上げて、引数付きで実行。opencv2.1をCの直下に入れたなら下記のコマンドをプロンプトにコピペで実行できると思う。
python C:\OpenCV2.1\samples\python\facedetect.py 0

要点をまとめると、
1.cascadeに読み込むファイルのパスを確認
2.コマンドプロンプトで引数をつけて実行
ということ。

顔認識デモを試してみた↓
http://www.nicovideo.jp/watch/sm6750511

本ブログのOpenCVまとめ
OpenCV
            

コメントの投稿

非公開コメント

プロフィール

hMatoba

Author:hMatoba
Github

最新記事
リンク
作ったものなど
月別アーカイブ
カテゴリ
タグリスト

検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。