您的位置 首页 国产IC

怎么根据Dragonboard 410c开发板进行USB摄像头完成移动侦测?

移动侦测是常见的智能化视频监控手段之一,其通过判断和识别移动物体然后进行拍照记录可以有效的降低处理器的计算处理量,只需要在有移动事件触发的时候才进行监控和录像,

移动侦测是常见的智能化视频监控手法之一,其经过判别和辨认移动物体然后进行摄影记载能够有用的下降处理器的核算处理量,只需要在有移动事情触发的时分才进行监控和录像,从而防止监控录制和摄影很多的无用的相片信息。今日本篇blog就带我们用Python言语来简略完成经过USB摄像头收集图画进行移动侦测,侦测到有移动物体后当即摄影保存。


首要仍是建立环境,这儿在USB图画收集blog中现已进行了阐明,只需要将咱们的USB摄像头、鼠标和键盘链接到dragonbaord 410c开发板上即可,假如你运用的是有线的USB鼠标和键盘,USB鼠标和摄像头能够共用一个。

建立好环境后,咱们就能够来进行移动侦测程序的编写了,相同,这儿咱们直接上干货,详细的代码如下:

#!/usr/bin/env python

import cv2, sys

import numpy as np

# Constants

DEVICE_NUMBER = 0

FONT_FACES = [

cv2.FONT_HERSHEY_SIMPLEX,

cv2.FONT_HERSHEY_PLAIN,

cv2.FONT_HERSHEY_DUPLEX,

cv2.FONT_HERSHEY_COMPLEX,

cv2.FONT_HERSHEY_TRIPLEX,

cv2.FONT_HERSHEY_COMPLEX_SMALL,

cv2.FONT_HERSHEY_SCRIPT_SIMPLEX,

cv2.FONT_HERSHEY_SCRIPT_COMPLEX

]

#这次代码是在前面的代码的基础上改善的,因而这儿保存了咱们前面的代码

MOTION_THRESHOLD = 0.3

#初始化web摄像头

vc = cv2.VideoCapture(DEVICE_NUMBER)

# Check if the webcam init was successful

if vc.isOpened(): # try to get the first frame

retval, frame = vc.read()

previous_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

else:

sys.exit(1)

#假如摄像头初始化成功,能够成功读取摄像头数据则进入到循环形式,循环处理摄像头图画帧

while retval:

# Define the frame which the webcam will show

frame_show = frame

# Convert frame to grayscale to make phase comparison

frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# Convert frames into floaTIng point

f_frame = np.float32(frame)

f_previous_frame = np.float32(previous_frame)

# 构建布景模型

(dx,dy) = cv2.phaseCorrelate(f_frame,f_previous_frame)

# Determine moTIon from the phase correlaTIon

if abs(dx) > MOTION_THRESHOLD and abs(dy) > MOTION_THRESHOLD:

#写入文本信息

font_typeface = FONT_FACES[5]

font_scale = 2

font_color = (0,0,255)

font_weight = 5

x = 0

y = 50

cv2.putText(frame_show, Motion!, (x,y), font_typeface, font_scale, font_color, font_weight)

#显现视频

cv2.imshow(DB410c Workshop #5: Motion Detection, frame_show)

# Retain previous frame for comparison

previous_frame = frame

# 改写进入下一帧处理

retval, frame = vc.read()

# Exit program after waiting for a pressed key

#设置中止退出按键

if cv2.waitKey(1) == 27:

break

以上便是完成整个移动侦测的Python代码,十分简略的流程就能够完成对摄像头收集到的图画数据进行移动侦测,假如我们有爱好还能够在上面进行略微的修正,就能够将该功用改为对移动物体的辨认和追寻,这儿后续blog中将进一步向我们介绍。

代码写好后,保存为monition.py,然后运转python monition.py 就能够看到如下作用的监测,当你的摄像头移动的时分体系会在视频上显现motion!表明移动。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/149337.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部