python OpenCV
#!/usr/bin/env python # -*- coding: utf-8 -*- # ファイル名: capture.py import cv2 if __name__=="__main__": # Haar-like特徴分類器ファイルの読み込み。ファイルの場所は自分の環境に合わせてください。 face_cascade = cv2.CascadeClassifier('opencv-3.1.0/data/haarcascades/haarcascade_frontalface_default.xml') # USBカメラで画像を取得する。 capture = cv2.VideoCapture(0) rtn, frame = capture.read() if( rtn == True ): cv2.imwrite( "capture.jpg", frame ) # 画像ファイルをグレースケールに変換する。 gray = cv2.cvtColor( frame, cv2.COLOR_BGR2GRAY ) # 顔を検知する。 faces = face_cascade.detectMultiScale( gray ) for rect in faces: # 検知した顔を四角で囲む(rect[*]:0=x, 1=y, 2=width, 3=height)。 color = (0,255,0) # 緑色(BGR)。 thickness = 2 cv2.rectangle( frame, tuple(rect[0:2]), tuple(rect[0:2]+rect[2:4]), color, thickness ) # 画像ファイルを保存する。 cv2.imwrite( "capture_output.jpg", frame ) # 終了処理(ストリームを解放) capture.release() cv2.destroyAllWindows() ```### 前提・実現したいこと ラズパイ opencv pythonともに初心者です やりたいことが複数あるのですが、、、 http://www.asahi-net.or.jp/~cb9i-kn/geek/20170506camera.html ↑のサイトを参考にして顔認証を行いたいのですが 自分のやりたいことが一段階レベルが下がるのかもしれないのですが カメラからではなくとあるフォルダに入っている顔画像から顔認識するようにしたいのですが上記のサイトのソースをいじって画像を出力するにはどのようにしたらよいでしょうか。 二つ目は顔の輪郭に合わせた四角と同時に目の枠も同時表示させたいのですが、cascadeを目と輪郭を追加するだけではだめでした。どのようにソースをいじればできますでしょうか。 三つ目はラズパイのピンにLED等をつなげているのですが 輪郭検知はできており瞼が検知できない。というようになればLED等に該当したPIN番号をHIGHにするといった条件分岐を教えていただきたいです。 大分、欲張りではあるのですが教えていただければ助かります。 文字だけで伝えるのが難しいようでしたら他ツールを使用した教え方でも構いません。どうか教えていただきたいのでよろしくお願いいたします。 自分はC言語のみ経験あり(学校で習った程度) ラズパイ opencv pythonは今回が初になります。 調べろ、自分でやれ等の意見は重々承知していますが、調べた結果これなんです、、限界が来ました。。 ソースは下記になります。 二つ目の輪郭+目で試したというのは序盤のface_cascade = cv2~~~ の部分でこの下の行に目を検出するcascadeを入れてみたというものです。
回答1件
あなたの回答
tips
プレビュー