利用Dragonbaord 410c开发板搭建具有运动追踪功能摄像头

分享到:
12271
下一篇 >

很多时候我们不在家的时候,都希望能够了解到家里的情况,这时候你可能想到需要一个web摄像头来进行监控,但是作为一个410c开放爱好者,我们去买一个这样的摄像头就太浪费了,今天就带大家一起来用手中的dragonbaord 410c开发板来实现一些个简单的带有运动追踪功能的摄像头,废话不多说,接下来上干货。

一、准备工作

准备一块dragonboard 410c开发板、一个USB摄像头、鼠标、键盘当然还有适配器和能够接入网络的wifi热点。

这里鼠标和键盘主要是用来进行开发,如果你的dragonboard 410c开发板已经安装好了debain操作系统,这里我们接下来的工作将全部在dragonboard 410c开发板上完成,不需要PC机,具体环境搭建参考如下:

按照上述环境搭建后,就可以启动你的dragonboard410c开发板了,这里首先我们不连接摄像头,直接连接鼠标,因为还需要配置你的dragonboard 410c开发板的网络和在上面进行编程,编号程序后运行程序的时候再讲鼠标拔掉,连接USB摄像头。

二、代码实现

整个开发过程中采用Python脚本语言来进行设计,并且借助于opencvpython库来进行相关的图形处理操作,废话不多说,具体代码如下:

#!/usr/bin/env python

import argparse

import dateTIme

import imuTIls

import TIme

import cv2

import numpy as np

ap = argparse.ArgumentParser

ap.add_argument

ap.add_argument

args = vars

ifargs.get

TIme.sleep

else:

camera = cv2.VideoCapture

framenext = None

firstFrame = None

i=0

while True:

text = "Unoccupied"

if not grabbed:

break

frame = imutils.resize

framenext = frame

gray = cv2.cvtColor

#gray_pre = np.float32

gray = cv2.GaussianBlur

if firstFrame is None:

firstFrame = gray

continue

frameDelta = cv2.absdiff

thresh = cv2.threshold

for c in cnts:

# if the contour is too small, ignore it

if cv2.contourArea

cv2.rectangle

text = "Occupied"

# caculation feature points

graynext =cv2.cvtColor

#graynext = np.float32

keypoints = detector.detect

framenext=cv2.drawKeypoints

# draw the text and timestamp on the frame

cv2.putText

cv2.putText

cv2.imshow

cv2.imshow

cv2.imshow

cv2.imshow

#key = cv2.waitKey

cv2.destroyAllWindows

#Send the message via our own SMTP server

sender = 'from@runoob.com'

receivers = ['XXXXXXXXXX@thundersoft.com']

text = MIMEText

image_url = "./detected_face.jpg"

image = MIMEImage

image.add_header

message = MIMEMultipart

message['From'] = Header

message['To'] = Header

subject = 'Python SMTP Test'

message['Subject'] = Header

message.attach

message.attach

try:

smtpObj=smtplib.SMTP

#smtpObj.set_debuglevel

smtpObj.sendmail

smtpObj.quit

print"done!"

except smtplib.SMTPException:

print "error:send failed"

三、测试

编写好代码后保存,然后使用Python monition_camera.py命令就可以运行上述代码了,这里我们收到的邮件及附件效果如下,由于涉及到隐私具体的跟踪人体目标就不展示了,大家下载代码实现即可以看到效果。

你可能感兴趣: 技术文章 图片 DragonBoard 410c 运动追踪 开发板 摄像头 NB
无觅相关文章插件,快速提升流量