看了其他试用者的试用帖,想把微信和监控结合起来,然而连个公网ip也木有,微信那些也不太会,所以参考了下人家树莓派的怎么做的,于是就有了 Nanopi2和Yeelink 的远程监控。
在线看效果如下:http://www.yeelink.net/devices/344726
截图:
在上一篇帖的基础上,我们只需做如下步骤即可:
- 注册,登录Yeelink, 在用户中心增加一个设备, 再为之增加一个图像传感器.
复制代码
- sudo apt-get install curl
复制代码
输入以下内容:
- sudo fswebcam -d /dev/video9 -r 1024x720 --bottom-banner --title "Nanopi2@ Yeelink" --no-timestamp /home/fa/yeelink.jpg
复制代码
ApiKey还有地址都可以在Yeelink上找到。
为脚本增加执行权限:
至此,一个基本雏形就有了,现在加上上一帖的识别,进行一个人脸识别判断即可。
下面给出代码:
- import os
- from PIL import Image, ImageDraw
- import cv
- import shutil
- def detect_object(image):
- grayscale = cv.CreateImage((image.width, image.height), 8, 1)
- cv.CvtColor(image, grayscale, cv.CV_BGR2GRAY)
- cascade = cv.Load("/usr/share/opencv/haarcascades/haarcascade_frontalface_alt_tree.xml")
- rect = cv.HaarDetectObjects(grayscale, cascade, cv.CreateMemStorage(), 1.1, 2,
- cv.CV_HAAR_DO_CANNY_PRUNING, (20,20))
- result = []
- for r in rect:
- result.append((r[0][0], r[0][1], r[0][0]+r[0][2], r[0][1]+r[0][3]))
- return result
- def process(infile):
- image = cv.LoadImage(infile);
- if image:
- faces = detect_object(image)
- im = Image.open(infile)
- path = os.path.abspath(infile)
- save_path = os.path.splitext(path)[0]+"_face"
- if os.path.isdir(save_path):
- shutil.rmtree(save_path)
- try:
- os.mkdir(save_path)
- except:
- pass
- if faces:
- draw = ImageDraw.Draw(im)
- count = 0
- for f in faces:
- count += 1
- draw.rectangle(f, outline=(255, 0, 0))
- a = im.crop(f)
- file_name = os.path.join(save_path,str(count)+".jpg")
- # print file_name
- a.save(file_name)
- drow_save_path = os.path.join(save_path,"out.jpg")
- im.save(drow_save_path, "JPEG", quality=80)
- else:
- print "Error: cannot detect faces on %s" % infile
- if __name__ == "__main__":
- process("yeelink.jpg")
复制代码
- #!/bin/sh
- sudo fswebcam -d /dev/video9 /home/fa/yeelink.jpg --bottom-banner --title "nanopi2@wenjie" --no-timestamp -r 1280x720
- python identify_face.py
- if [ -f "/home/fa/yeelink_face/out.jpg" ];then
- curl --request POST --data-binary @"/home/fa/yeelink_face/out.jpg" --header "U-ApiKey:818c7d66df46c26d610e6a4a37ebda12" http://api.yeelink.net/v1.0/device/344726/sensor/383332/photos
- fi
复制代码
|