最後にはじめに今回はOpenCVを使って、カメラに映る人の顔をリアルタイムで認識するプログラムを作ってみました。わからないクラスなどがある場合には、前回の記事を参照してください。こちらの記事でWindowsでのVisualStudio+OpenCVの導入とカスケード分類器でのリアルタイム顔認識をまとめました!カスケード分類器について今回はカスケード分類器を利用して顔認証を行います。本来はカスケード分類器を作る必要がありますが、OpenCVには顔のカスケード分類器がもともと備え付けられているのでそれを利用します。0;}ソースコードの説明カスケード分類器に関わる部分について説明します。その他については前回の記事を参照してください。オブジェクト名;「CascadeClassifier」はカスケード分類器を扱うオブジェクトを作るためのクラスです。カスケードファイルの読み込みオブジェクト.load(カスケード分類機のパス);カスケード分類機のファイルは「load」で読み込むことができます。OpenCV標準のカスケード分類器のパスは自分の動作環境下(MacOSX)では次の通りでした。検出対象の最小サイズ);「detectMultiScale」はカスケード分類器によって検出する画像から対象を検出し、対象を囲う範囲の矩形をベクトルの要素として出力します。対象が複数個ある場合は順番に格納されます。ベクトルを格納するオブジェクトは次のようにして作成します。ベクトル名;「Rect」が二次元の矩形のためのクラスで、可変長でオブジェクトを宣言します。ステップは対象を検出する幅のようなもので、これが大きいと検出が大雑把になり、小さいと実行に時間がかかります。近傍矩形の最小量はそのままの意味で候補となる矩形はここで指定した数だけ近傍矩形を含むように指定します。過去の遺物はOpenCVの古いバージョンでは使っていましたが、現行では使われないため「0」としておきます。検出対象の最小サイズはここで指定したサイズより小さいものを認識しないようにします。「cv::Size(cols,rows)」で指定する必要があります。矩形の太さ);「rectangle」は矩形を描画するための関数です。矩形の頂点は「cv::Point(x座標,y座標)」によって指定します。矩形の色については「cv::Scalar(R,G,B)」によって指定します。矩形ベクトルは「オブジェクト名.x」でx座標を、「オブジェクト名.y」でy座標を、「オブジェクト名.width」で幅を、「オブジェクト名.height」で高さを取得できます。最後に言葉選びが難しいので日本語として間違っていたらすみません。分かりにくい場所があれば修正します。近いうちにカスケード分類器を自作してみようと思います。見つかりませんでした。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。date*日本語が含まれない投稿は無視されますのでご注意ください。10年前のマウスを分解してみた2023.07.25【雑記】Excel,Word,PowerPointを読み取り専用で開くスクリプトを作った。【C++】簡単なソケット通信プログラムを作ってみた。無料webツール置き場。動作に問題があれば連絡ください。情報系に関連しないことはこちらで。不定期更新の気ままなブログです。情報学部生の気ままなブログ.ホーム検索トップサイドバータイトルとURLをコピーしました。