实战目的:根据家里的监控器,实时检测出监控拍到的物体,包括人、车等。
基本情况:
1、家里安装有JOVISION监控器(中维),摄像头与存储设备通过路由器连接。
2、JOVISION对应有一个客户端,名称为:云视通网络监控系统,可以在JOVISION官网下载。
——————————————————————————————————————————
思路:
用一个训练好的小的Faster RCNN模型,结合opencv,将摄像头采集到图片输送模型,
标注出图片中检测出的物体。
——————————————————————————————————————————
困难:
JOVISION客户端处理监控视频有两种方法:(1)点击,录制好一段存起来;(2)点一个按钮保存一个快照
这两种方法都不好实施,方案(1)也需要点击,并且视频存储起来后才可使用,无法做到实时,方案(2)
如果能手动一直操作鼠标点击保存快照,而另一边程序实时检测快照图片,那就能做到实时。
但人工一直点击不现实。
——————————————————————————————————————————
解决方案:
用按键精灵编写了一个小脚本,用于定时点击监控,定时点击快照生成按钮。
按键精灵代码:
Plugin.Window.MousePoint
点击 = WaitClick()
Delay 10
Hwnd = Plugin.Window.MousePoint()
GetCursorPos x, y
sRect = Plugin.Window.GetClientRect(Hwnd)
MyArray = Split(sRect, "|")
L = CLng(MyArray(0))
T = CLng(MyArray(1))
R = CLng(MyArray(2))
B = CLng(MyArray(3))
点击1 = WaitClick()
Delay 10
Hwnd1 = Plugin.Window.MousePoint()
GetCursorPos x1, y1
sRect1 = Plugin.Window.GetClientRect(Hwnd1)
MyArray1 = Split(sRect1, "|")
L1 = CLng(MyArray1(0))
T1 = CLng(MyArray1(1))
R1 = CLng(MyArray1(2))
B1 = CLng(MyArray1(3))
Tick = 2000
Do
<