忍者ブログ

設備のマニアどっとこむ

設備、電子工作、DIYのブログ!

07/21

Sat

2018

raspberry pi×Open CVで庭に来る猫対策

マンション一階に住んでいるのだが、庭に猫がときどき入ってくる時がある。 通りすぎるくらいならいいのだが、奥さんが育てているコケを荒らしたり、糞をしたり結構やりたい放題。

こんな猫よけグッズはあるのだが全然効果なし。(慣れちゃったのか?)

近くを通ると耳がキーンってする


退治するまではいかないまでも、どの時間帯にに来るのかぐらいは調べてみることにした。
といってもずっと見ているわけにはいかないのでラズパイでOpenCVを動かして、反応した時だけ写真をとってみます。

まずはこの記事など見てもらってラズパイにOpenCVインストール済みということで… 

インストールがうまくできたらこのようなコードを書きます。
# -*- coding: utf-8 -*-
import sys
import cv2  
import time
if _name_ == '_main_':
    try:
      
        cascade_path = "/home/pi/opencv-3.1.0/data/haarcascades/cascade.xml"
        cascade = cv2.CascadeClassifier(cascade_path)
        capture = cv2.VideoCapture(0)
        if capture.isOpened() is False:
            raise IOError("VideoCapture could not open.")
       
        while True:
           
            ret, image = capture.read()
            if ret == False:
                continue
           
            facerect = cascade.detectMultiScale(image, scaleFactor=1.2, minNeighbors=2, minSize=(10, 10))
           
            color = (255, 255, 255)     
            for rect in facerect:
                cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2] + rect[2:4]), color, thickness=2)
                
                time.sleep(1)
                
                cv2.imwrite("img.png", image);
                break
            
            cv2.imshow("FaceDetection", image)
            #wait[ms]
            cv2.waitKey(1)
    except KeyboardInterrupt  :         
        print("\nCtl+C")
    except Exception as e:
        print(str(e))                   
    finally:
        capture.release()              
        cv2.destroyAllWindows()         
        for i in range (1,5):
            cv2.waitKey(10)             
        print("\nexit program")         
    

ここで顔認識と違うのは画像処理を行う判別ファイルが違います。
猫用なんてあるの? って思うかもしれませんが、ここにあります。
保存したら、パスを入れ替えてください。
 cascade_path = "/home/pi/opencv-3.1.0/data/haarcascades/cascade.xml"

あとは猫を認識したときに画像を保存します。ファイル名は適当です。
cv2.imwrite("img.png", image);
                
これでとりあえず、猫を画像検索したタブレットでテスト


に、認識してる気がする…

ホントは電磁弁とかと連動させて水でもかけたいとこだけどかわいそうなのでやめときます…

とりあえずリフォーム終わったら仕掛けてみます!!








拍手[0回]

PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

翻訳(Translate)

AD

シェアしてね

プロフィール

HN:
アルティメット雅史
性別:
男性
自己紹介:
製油所、データセンター、化学工場を渡り歩いた設備のマニア
最近はarduinoあたりの電子工作にハマる。
取得資格は電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトほか

カウンター

お問い合わせ

忍者アクセスランキング

Copyright © 設備のマニアどっとこむ : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]