用海康的DS-4004HC板卡做监控,采用C#语言,设备监控与控制方面使用OPC
OPC不再重复,好简单的。DS-4004HC板卡做监控参考达人的系列帖子,基本不用变动,原帖地址如下:
http://www.cnblogs.com/over140/archive/2009/04/07/1429308.html
这里要说的是关于移动侦测的方面,这点在原文中并没有提及,这里专门做这方面的介绍:
首先,移动侦测有两种方法:
Rectangle rect = new Rectangle(0, 0, 700, 500);//因为pdf里说“DS400C的矩形框范围是(0,0,703,575)”
areaList[0] = rect;
(1)
(2)
HikVisionSDK.SetupMotionDetection(ChannelHandle_Vedio, areaList, areaList.Length);
然后在回调STREAM_DIRECT_READ_CALLBACK1(int channelNum, IntPtr DataBuf, int Length, FrameType_t frameType, IntPtr context)里添加:
每个函数的用法与说明看看那个大哥的DS40xxSDK.cs和海康的pdf里面写的很清晰地.
(3)当然别忘里开启移动侦测哦:HikVisionSDK.StartMotionDetection(ChannelHandle_Vedio);
可是不知道什么原因,按理说方案一比较简单,只要设置回调然后注册,接着启动移动侦测就好,可惜的是,每次当我出发后,处理完会叫后(回调里什么都没干),就会报错说DS40xxSDK.dll里异常结果崩溃,我想了半天也不知道哪里错了,也跟踪不进去,也许用VC做是正常的吧,又或者我哪里设置错了,但pdf里就是这样的,可惜海康demo程序没用到这个。解决此问题的大哥可以告诉我,学习下
于是乎,采用了方案二,毕竟然家海康demo里用的就是这个。事实证明用第二方案果然不报错了
把那位大哥的STREAM_DIRECT_READ_CALLBACK1回调修改下,加入移动侦测部分就搞定了,效果不错(代码内其他函数的说明,请看那个系列文章作者的说明):
}
对了,最后问个问题:怎么在写博客时黏贴代码啊,我看别人的都可以像在MSDN中的效果一样的,而我复制来的,就只是纯文本,我也想有那种效果,这样以后看博客,写博客也方便点!
新增板卡sdk,驱动与demo的下载地址:
http://download.csdn.net/source/1562398