ラズパイ向け・Pythonサンプルコード・カスケード型分類器

code_py_cascade_pdf

サンプルコード:ラズパイ向け・Python・カスケード型分類器

サンプルコードは無料ダウンロード可 pdf 約64KB
¥0(税込)

ご要望にお応えして、ソースコードを掲載いたします。

システム環境の構築(ラズパイでつくる画像認識AI)はこちら

pythonファイルのダウンロードはこちら

このサンプルソースのプログラムの動作の概要は、カメラの動作、AIライブラリによる顔の検出、画像ファイルの取り扱いの、3つのブロックで構成されています。
具体的には以下のような流れですが、コメントを入れて40行程度です。

【動作概要】
・カメラを初期化する
・カメラから映像を取得する
・顔検出のための学習データを読み込む
・顔検出をする
・検出ができたら顔を赤枠で囲む
・所定の場所に保存する

【システム環境】
・物理構成
 Raspberry Pi Starter Kit
 Kumanカメラモジュール
・ソフトウェア
 Raspberry Pi OS(Raspbian-reference 2019-07-10)
 Python 2.7
 python-opencv

【作成日/動作確認日】
2019/9/3

—————————————————————-
# -*- coding: utf-8 -*-
import picamera
import picamera.array
import cv2
# カメラ初期化
with picamera.PiCamera() as camera:
# カメラの画像をリアルタイムで取得するための処理
with picamera.array.PiRGBArray(camera) as stream:
# 解像度の設定
camera.resolution = (512, 384)
while True:
# カメラから映像を取得する(OpenCVへ渡すために、各ピクセルの色の並びをBGRの順番にする)
camera.capture(stream, ‘bgr’, use_video_port=True)
# 顔検出の処理効率化のために、写真の情報量を落とす(モノクロにする)
gray_image = cv2.cvtColor(stream.array, cv2.COLOR_BGR2GRAY)
# 顔検出のための学習元データを読み込む
cascade = cv2.CascadeClassifier(‘./haarcascades/haarcascade_frontalface_default.xml’)
# 顔検出を行う
face = cascade.detectMultiScale(gray_image, scaleFactor=1.2, minNeighbors=2, minSize=(100, 100))
# 顔が検出された場合
if len(face) > 0:

   ◆この後につづくのは下記のとおりです。
# 検出した場所すべてに赤色で枠を描画する
# 結果の画像を表示する
# カメラから読み込んだ映像を破棄する
# 何かキーが押されたかどうかを検出する(検出のため、1ミリ秒待つ)
# 表示したウィンドウを閉じる
—————————————————————-

※コードは作成日時点で、Raspberry Pi Starter Kitにおいて動作確認済みです。
ダウンロードファイルは、pyファイルをもとにしたpdfファイルで、A4で1枚です。
※pdfファイルにはコードすべてが表示されています。

pdfですので、プログラムとしてそのまま利用することは困難です。
ダウンロードしてスマホで見る、印刷して手元に置いて参考にする、
などでお使いください。

プログラムはシステム環境が異なると動作しない可能性があります。
なお、コードに関してのご質問はお受けできません。

実際に動作したpyファイルが欲しい方は以下のページに行ってください。

pythonファイルのダウンロードはこちら