顔検出のパイソン+ OpenCVの画像処理

使用OpenCVのは、xmlファイルが付属して、カメラがリアルタイムで顔を検出することができます

機能のようなHaar-like、LBPの特徴は共通の特徴があり、様々な地域情報を記述

ハールは、ローカルスケールシェーディング画素値変換情報に画像を記述する

LBPは、ローカルエリアに対応するテクスチャ情報に記載されています

ハールLBPを異なる: 
①HAAR前記浮動小数点演算、LBP前記整数演算; 
、訓練された②HAARより大きいLBP必要なサンプルの数 
、典型的には高速LBP HAARの速度よりも③、 
④同じ試料検出結果ハールに訓練しましたLBPより正確; 
⑤サンプルを拡張データLBPは、トレーニング効果HAARを達成することができます

pythonを達成するための静止画における顔検出

DEF face_detect_demo(イメージ):
    グレー = cv2.cvtColor(イメージ、cv2.COLOR_BGR2GRAY)
    face_detector = cv2.CascadeClassifier(" データ/ haarcascade_frontalface_default.xml "#は、顔検出オブジェクトの作成 
    、1.02、= face_detector.detectMultiScale(灰色対向 5 #の顔検出
    「」 " 
       対向= face_detector.detectMultiScale(IMG、scaleFactorで、minNeighbors)
       パラメータ:IMG:識別された原
             scaleFactorを:画像の反復圧縮率
             minNeighbors:各顔矩形ネイバーの最小数が予約
       返します実測値:矩形のそれぞれの内側にあるリスト、(X、Y、W、H ) 人間の顔がフレーム
    "" " 
    のための X、Y、W、H 顔:
        cv2.rectangle(画像、(X、Y)、(X + W、Y + H)、(0、0、255)、2 
    cv2.imshow(" face_detect_demo "、画像)

結果

ビデオ実現Pythonで顔検出

DEF 検出():
     #1 オブジェクト作成顔検出 
    face_cascade = cv2.CascadeClassifier(" ../data/haarcascade_frontalface_default.xml " Qオブジェクトの目検出作成 
    eye_cascade = cv2.CascadeClassifier(" ../data/haarcascade_eyeを。 XML " #は、Q笑顔検出対象を作成 
    smile_cascade = cv2.CascadeClassifier(" ../data/haarcascade_smile.xml カメラ取り付けオブジェクト番号0は、カメラを示し 
    カメラ= cv2.VideoCapture(0) 

    一方:真
         #1 リード現在のフレーム取る 
        RET、フレーム= )(camera.readを
        スイッチグレースケール画像 
        グレー= cv2.cvtColor(フレーム、cv2.COLOR_BGR2GRAY)
        顔検出(H、W、X、Yの各要素のリストを返す ) 矩形の左上隅と幅と高さを表し 
        顔= face_cascadeを。 detectMultiScale(グレー、1.3、5 顔矩形描画
        のための(X、Y、W、H)の面:
             #は、矩形の色及び線幅の左右の角座標を渡し、フレーム画像の絵に四角形を描画 
            = cv2.rectangle IMG(フレーム、(X、Y)、(X + W、Y + H)、(255、0、0)、2 #1 面析出 
            roi_gray =グレー[Y:Y + 、HをX:X + W]
            顔に(40、40)の目を検出する最小サイズを設定され、その後、小部分が検出されません
            目= eye_cascade.detectMultiScale(roi_gray、1.03、5、0、(40、40 ))
            把眼睛画出来
            (EX、EY、EW、EH)目:
                cv2.rectangle(IMG、(X + EX、Y + EY)、(X + EX + EW、Y + EY + EH)、(0、255、0)、2 

        cv2.imshow(" カメラ" 、フレーム)
         場合 cv2.waitKey(5)&0xffの== ORD (" Q " ):
             ブレイク

    camera.release()
    cv2.destroyAllWindows()

 

おすすめ

転載: www.cnblogs.com/qianxia/p/11112645.html