opencv with pycharm
opencv を pycharm で使用する.
(Anaconda Navigator 1.8.5, pycharm 2018.1(build 181.4203.547), Windows 10)
教師なし学習の入力データに人の顔画像を使うということで, データセットの作成のためにOpenCVをいれることに.
無事にインストールができて, opencvのインストールした場所もわかって, 顔認識までできました.
インストールにするにあたってこちらのサイトが非常に参考になりました.
Web!ke staffblog OpenCVをpythonから使ってみる
conda create -n opencv python=3.5 anaconda activate opencv
は Anaconda promptで実行.
conda c install -c https://conda.anaconda.org/menpo opencv3
は pycharmの python consoleで実行しました. これが正解じゃないと思う...
opencv 結構時間かかりますね. あと, pycharm は Run as administor(管理者権限)で実行しましょう(一敗).
pycharmの Settings の Project Interpreter の package にちゃんと opencv3 が入ってるか確認出来たら実行できるはず.
import cv2 ができて, cv2の関数が実行できたことは確認したけど,
OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale, file ..\..\..\modules\objdetect\src\cascadedetect.cpp, line 1639 Traceback (most recent call last): File "C:/Users/admin/PycharmProjects/imageclip/clipfront.py", line 42, in <module> face = faceCascade.detectMultiScale(img, scaleFactor=1.2, minNeighbors=2, minSize=(10, 10)) cv2.error: ..\..\..\modules\objdetect\src\cascadedetect.cpp:1639: error: (-215) !empty() in function cv::CascadeClassifier::detectMultiScale
顔認識をする学習器 haarcascade を使うとき, detectMultiScale が使えない. どうやら cv2.CascadeClassifierの学習器のpathの指定がうまくいってないみたい.
そもそも cascadefile っていうか, opencvどこにインストールされたんやねん ってなってそこから探す旅へ.
import cv2 print(cv2.__file)
これでいけると思ったけど, C:\ProgramData\Anaconda3\lib\site-packages\cv2.cp35-win_amd64.pyd
って、情報ない. このファイル開けないし.
結局恥ずかしながら エクスプローラーの検索機能で探しました...
'C:/Users/admin/AppData/Local/conda/conda/pkgs/opencv3-3.1.0-py35_0/Library/etc/haarcascades/'
はい. 今思えば, condaコマンドでインストールしたんだから, condaのことを調べるべきだった...
明日はdlib使ってみます.