忍者ブログ

設備のマニアどっとこむ

IoT開発、設備・DIYのブログ!

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

コメント

翻訳(Translate)

プロフィール

HN:
佐々木 雅史
性別:
男性
自己紹介:
2021年 ラズパイ、M5stackを用いたIoT開発を専門で受注するアルティメンテを設立。代表を務める。
・2020年ラズパイコンテスト優良賞受賞
・設備系資格多数(電験3種、消防設備士甲4、2級ボイラー技士、危険物乙4、電工2種、技術士補(電気・電子)、エネ電、フォークリフトなど)

AD

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30