SSブログ

WindowsにOpenCV [OpenCV]

前回はRaspberry PiにOpenCVをインストールしてみたけど、
今回はWindows上にOpenCVをインストールしてみた。

Windows上にAnacondaをインストールしておくことが必要。
Anacondaのインストールは省略。
Anaconda Prompt を起動したところからスタート。

まずはOpenCVのインストール
 Anaconda Forge というところに最新版のOpenCVがあることを確認したので、
 そこからインストールする。
 % conda install -c conda-forage opencv

動作確認
 python
 >>> import cv2
 >>> print(cv2.__version__)
 3.4.1
 >>> exit()

 ちゃんと 3.4.1 がインストールされた。

前回と同じ、camera_face.py を試してみる。
 Haarの認識モデルは下記のディレクトリにインストールされていたので、コピーしてくる。
  c:\Anaconda3\pkgs\opencv-3.4.1-py35_200\Library\etc\haarcascades\

 % cp c:\Anaconda3\pkgs\opencv-3.4.1-py35_200\Library\etc\haarcascades\haarcascade_frontalface_alt.xml .

 そして前回と同じように camera_face.py を作る。(ブログの都合上全角スペースでインデントしているので修正が必要かも)
  import cv2

  def camera_capture():
   cap = cv2.VideoCapture(0)

   while True:
    ret, frame = cap.read()

    gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
    face = faceCascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1))

    if len(face) > 0:
     for rect in face:
      cv2.rectangle(frame, tuple(rect[0:2]), tuple(rect[0:2] + rect[2:4]), (255,255,255), thickness=1)

    cv2.imshow('camera capture', frame)

    key = cv2.waitKey(1)
    if key == 27:
     break

   cap.release()
   cv2.destroyAllWindows()

  cascade_path = "haarcascade_frontalface_alt.xml"
  faceCascade = cv2.CascadeClassifier(cascade_path)

  camera_capture()

 そして実行
 % python camera_face.py

PCについてるカメラで取り込んで、顔の位置を認識してそこに四角い枠を追加して、
リアルタイムに表示された。

タグ:OpenCV
nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。