インストール自体は至極簡単。pacman(yaourt)任せでOK。
sudo pacman -S opencvPythonで使いたいので、"numpy"もインストールする。
sudo pacman -S python-numpy"numpy"は、Pythonで数値計算を効率良く(高速に?)行う為のライブラリらしい。
これだけで、OpenCVが使えるようになる。
このようなBGR値を、操作することで画像処理を行っていく(らしい)。
ついでなので、画像での顔検出をやってみる。
下のページを参考にさせてもらいました。有り難うございます。
http://peaceandhilightandpython.hatenablog.com/entry/2016/02/18/194303
(自分の環境で動くように、パスの指定等は変更しています。)
検出用には、OpenCVをインストールすると標準で入っている、
"/usr/share/opencv/haarcascades/haarcascade_frontface_default.xml"
を使用する。
#!/usr/bin/env python # -*- coding:utf-8 -*- import cv2 import numpy as np faceCascade = cv2.CascadeClassifier('/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml') img = cv2.imread('./face.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) face = faceCascade.detectMultiScale(gray, 1.1, 3) if len(face) > 0: for rect in face: cv2.rectangle(img, tuple(rect[0:2]), tuple(rect[0:2]+rect[2:4]), (255, 255,255), thickness=2) else: print("no face") cv2.imwrite('detected.jpg', img)
元の画像(お馴染みの)
検出結果
試しに、180度回転して上下逆にした画像で実行してみた。
これは、"no face"となり、検出できなかった。
0 件のコメント :
コメントを投稿