概要
WindowsでAnaconda + OpenCVを用いて画像認識(配布されている分類器を用いる)を行います。
※UbuntuにOpenCV3.4.1をビルドして画像認識を試みた事もありましたが、必要なライブラリが足りず(しかも何がどう足りないのかさっぱりわからず)うまくいきませんでしたので、Windows + Anacondaの環境にOpenCVをインストールして実施する事をおすすめします。
用語
・Anaconda:PythonとR向けのデータサイエンス用ディストリビューション・OpenCV:インテルが公開しているOSSの画像解析フレームワーク
事前準備(前提とする環境)
・Windows10・Anaconda5.3
構築する環境
OpenCV3.4.1手順
openCVインストール後、cascadeファイルを準備します。cascadeファイルとは、「人の顔とは何か?」を定義したファイルになります。cascadeファイルを用いて画像解析プログラム(python)によって対象画像を分析する、という流れになります。
※以降、cascadeファイル・画像解析プログラム・分析対象画像はすべて同一ディレクトリ内に存在する前提とします。
openCVのインストール
Anaconda Promptで以下を実行し、openCVをインストールします。
$ conda install -c conda-forge opencv
cascadeファイルの取得
cascadeファイル(haarcascade_frontalface_default.xml)を準備します。「haarcascade_frontalface_default.xml」は、正面からの人の顔を判断する分類器になります。
※本ファイルは、公式の他にもGitHubなどにも公開されていますが、必ずOpenCVの公式(https://opencv.org/)からダウンロードしてください。公式のもの以外を用いてしまうと、下記のエラーが発生してプログラムが動かないためです。
$ python test.py cv2.error: C:\projects\opencv-python\opencv\modules\core\src\persistence.cpp:448 4: error: (-49) Input file is empty in function cvOpenFileStorage
検証対象ファイルの準備
画像分析したいファイルを準備し、上記cascadeファイルや下記実行ファイルと同フォルダに配置します。下記プログラムでは、woman.jpgが検証対象ファイルになります。
実行プログラムの準備
以下サイト様で紹介されているプログラムなどで実行出来ます。
http://sh0122.hatenadiary.jp/entry/2017/10/30/210411
0 件のコメント:
コメントを投稿