前提:
海关码头布置了若干摄像头,位置根据需求摆放
船只航行时会定时发送gps定位
要求:
当船进入码头后要找出一个摄像头然后通过云台控制摄像头的角度跟踪这艘船,直到停航。
我们使用的是海康的摄像头服务器,具备控制摄像头云台功能。
使用c#对海康的sdk进行开发。
希望大家能给出想法和实现的条件
回答给分
前段时间做了个小区监控系统,里面就涉及到了lz说的跟踪的问题,
首先,制作一个服务器程序,在服务器上,将所有的监控系统收集保存,并将其实时的传送到客户程序上,实现实时监控。
然后,跟踪,比如:将画面1中的这艘船的位置,记录下来,可以通过每个摄像头不同的位置来记录船的位置,通过坐标模拟的方式来实现跟踪,如果有技术条件,也可以直接解析图像。
最后,通过解析出来的数据,传回服务器,保存在服务器上。
思路大概是这样。
实际这东西抛开云台控制
基本就是游戏开发,摄像头就是主动进攻型怪物,船就是玩家
无非是给怪物视距范围,只要玩家进入范围,就跟踪玩家。典型的观察者-----进入范围触发监控事件,出范围触发停止监控事件。 船移动触发移动事件
----------
单纯实现并不困难,困难的是多目标选择。游戏开发里有所谓的仇恨控制系统,问题在于你这里的多目标选择是依靠啥判定滴
仇恨的概念:简单的说就是怪物攻击玩家的优先级。这个优先级是动态变化的,在MOB资料库中随时会新建这么
一张优先级表,玩家有几种情况会进入该表格
1,进入MOB“激活区域”(此条仅对主动攻击型MOB有效),也就是被MOB发现。
2,攻击MOB行为但没有造成伤害,如抗魔或者MISS。
3,对MOB造成DMG或者DOT,或者对MOB的变羊等行为。
4,对造成MOB伤害的玩家BUFF或者DEBUFF
5,其他一些特别技能,比如战士小德或者PET的嘲讽,嘲弄攻击(或许嘲讽可以算作DEBUFF,属于自我DEBUFF)
仇恨的动态变化:我们已经知道,一开始MOB记忆库中并没有这么一张仇恨列表,一旦某个,或者某些玩家有了
以上行为后,仇恨列表将被创建,在某个,或者某些玩家持续性的上述行为后,这个仇恨列表中的各个数值
也随着每个玩家的种种行为在不停的变化,MOB将随时读取该列表,获得最高优先级对应的玩家,并对其进行攻
击。并且我们也能够知道影响MOB攻击转向的几个因素:
1,有其他玩家(不论是不是同一队的)获得了更高优先级。
2,时间足够长后仇恨值归零(当然同时你也不能有任何新的重新进入仇恨列表的行为,比如你和怪物
还是站的足够近)。
这个相当有难度.
如果是单纯的一艘船还好,直接图像识别即可,直接定位.
可是码头上有N只船在航行,如何扫描定位到该船,那就相当有难度了.
这个比游戏中的仇恨系统要复杂得多,高科技得多.
因为游戏中每个玩家在当前地图是确定的,可以时时得知并确定,哪个位置是哪个玩家,哪个玩家在哪个位置
游戏中的仇恨系统更多的细节在与如何判断"玩家"仇恨值,而这个系统难度在于如何定位"玩家"
GPS"三维坐标、速度和时间。"是船只回报过来的,但是如何根据这些信息来定位到该船... ...
(还要考虑很多,比如能见度,天气原因,信号采集失真... MD)