ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:6.82MB ,
资源ID:11200849      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/11200849.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(智能交通设备开发说明文档.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

智能交通设备开发说明文档.doc

1、智能交通设备开发说明文档 一、产品概述 智能交通设备主要用在交通卡口、闯红灯等的车辆信息的分析及记录。在安装好智能设备之后需要根据实际的应用场景对智能交通设备场景,待检测物体,及事件规则进行配置。在完成配置后,设备会根据配置,进行图片抓拍,并分析检测物体信息。用户可通过订阅智能报警事件,获得抓拍到的图片及物体信息,具体代码实现见下文说明。 二、产品方案示意图 图2.1 三、智能交通配置说明及相关SDK接口说明 3.1智能交通配置SDK接口: 3.1.1 获取智能交通设备配置信息接口 1) BOOL CALL_METHOD CLIENT_GetNewDevConfig(LO

2、NG lLoginID, char* szCommand, int nChannelID, char* szOutBuffer, DWORD dwOutBufferSize, int *error, int waittime); 函数说明:获取配置,按照字符串格式,各个字符串包含的信息由CLIENT_ParseData解析。 参数说明: [in]lLoginID,CLIENT_Login的返回值 [in]szCommand,命令参数,见CLIENT_ParseData命令参数说明。 [in]nChannelID,通道号 [out]szOutBuffer,输出缓冲, [out

3、]dwOutBufferSize,输出缓冲大小 [out]error,错误码 0 成功 1 失败 2 数据不合法 3 暂时无法设置 4 没有权限 [in]waittime,等待超时时间 2) BOOL CLIENT_ParseData(char *szCommand, char *szInBuffer, LPVOID lpOutBuffer, DWORD dwOutBufferSize, void* pReserved); 函数说明:此接口配合CLIENT_GetNewDevConfig使用,在使用CLIENT_GetNewDevConfig获取字符串

4、配置信息后,使用此接口从配置信息中提取想要的信息。 参数说明: [in]szCommand,命令参数。 命令参数 相应结构体 CFG_CMD_ANALYSEGLOBAL 智能交通设备场景配置,对应结构体CFG_ANALYSEGLOBAL_INFO CFG_CMD_ANALYSEMODULE 待检测物体模块配置,对应结构体CFG_ANALYSEMODULES_INFO CFG_CMD_ANALYSERULE 智能交通设备事件规则配置,对应结构体CFG_ANALYSERULES_INFO [in]szInBuffer,输入缓冲,字符配置缓冲。 [out]lpOutBu

5、ffer ,输出缓冲,交通结构体类型 [out]dwOutBufferSize ,输出缓冲的大小 [in]pReserved,保留参数 3.1.2设置智能交通设备配置信息接口 1) BOOL CLIENT_PacketData(char *szCommand, LPVOID lpInBuffer, DWORD dwInBufferSize, char *szOutBuffer, DWORD dwOutBufferSize); 函数说明:此接口配合CLIENT_SetNewDevConfig使用,使用CLIENT_PacketData后,将打包的信息通过CLIENT_Se

6、tNewDevConfig设置到设备上。 参数说明: [out]szCommand 命令参数,参见CLIENT_ParseData中表格 [in]lpInBuffer 输入缓冲,结构体类型参见CLIENT_ParseData中表格 [in]dwInBufferSize 输入缓冲大小 [out]szOutBuffer 输出缓冲 [in]dwOutBufferSize 输出缓冲大小 2)BOOL CLIENT_SetNewDevConfig(LONG lLoginID, char* szCommand, int nChannelID, char* s

7、zInBuffer, DWORD dwInBufferSize, int *error, int *restart, int waittime=500); 函数说明:设置配置,按照字符串格式,各个字符串包含的信息由CLIENT_PacketData组包。 参数说明: [in]lLoginID CLIENT_Login的返回值 [in]szCommand,请参考CLIENT_ParseData中的说明。 [in]nChannelID,通道号。 [in]szInBuffer,输入缓冲。 [in]dwInBufferSize,输入缓冲大小。 [out]error,错误码。 0

8、 成功 1 失败 2 数据不合法 3 暂时无法设置 4 没有权限 [out]restart,配置设置后是否需要重启设备,1表示需要重启,0表示不需要重启。 [in]waittime,等待超时时间。 3.1.3 获取智能交通设备能力集信息接口 BOOL CLIENT_QueryNewSystemInfo(LONG lLoginID, char* szCommand, int nChannelID, char* szOutBuffer, DWORD dwOutBufferSize, int *error, int waittime=1000); 函数说明:查询

9、系统能力信息,按字符串格式 [in]lLoginID,CLIENT_Login的返回值。 [in]szCommand,查询能力类型。(CFG_CAP_CMD_VIDEOANALYSE, 智能交通设备能力集,对应结构体为CFG_CAP_ANALYSE_INFO) [in]nChannelID,通道号。 [out]szOutBuffer,接收的能力集字符串缓冲区。 [in]dwOutBufferSize,接收的总字节数(单位字节)。 [out]error,错误号。 [in]waittime,等待时间。 3.2 智能交通配置具体说明 智能交通配置过程分为三个步骤: 首先是

10、智能交通场景配置,包括场景类型,及对应场景的相关信息。比如智能交通场景配置的相关信息包括:摄像头高度,摄像头水平距,近景点位置,远景点位置,近景点距摄像头水平距,远景点距摄像头水平距及车道线; 然后是不同区域各种类型物体的检测模块配置,包括物体类型,检测区域信息,检测算法模块的参数; 最后是智能交通规则配置,智能交通规则是用来描述一些条件,在某个物体满足这些条件后,会触发设备检测该物体,并上报这个物体的相关信息,不同规则有不同参数。如一个交通卡口规则,包括参数车道线,检测线,速度上下限等信息,当规则描述的车道上有车经过检测线时就会触发设备检测该车辆,返回车辆的速度,车牌,车身等信息。 3

11、2.1 智能交通场景配置: 智能交通场景配置参数包括摄像头高度,摄像头水平距,近景点位置,远景点位置,近景点距摄像头水平距,远景点距摄像头水平距及车道线,具体描述如下: 如图3.1所示,摄像头高度,是指摄像头离地面的垂直距离,摄像头水平距是指摄像头垂直线到摄像头视野区域中心点的距离。近景点是指摄像头抓拍的图片的底部中心位置,一般取值为(4096,8192),远近点是指图片的中心位置,一般取值为(4096,4096)。近景点距摄像头水平距是指近景点在实景场景中对应位置到摄像头垂直线的水平距离,远景点距摄像头水平距是指远景点在实景场景中对应位置到摄像头垂直线的水平距离。 图3.

12、1 车道线是根据摄像头实际拍摄到的图片中的车道得到的车道线信息,如图3.2所示(车道线的相关坐标点是图片上的对应像素点位置)。车道号由用户自己定义。车道方向是指当前车道上车辆行驶的方向。 图3.2 获取智能交通设备场景配置信息代码示例: int nErr = 0; char szOutBuffer[32*1024] = {0}; CFG_ANALYSEGLOBAL_INFO stuAnalysGlobalInfo = {0}; // get global info BOOL bSuccess = CLIENT_GetNewDevConfig(m_

13、lLoginID, CFG_CMD_ANALYSEGLOBAL, nChannel, szOutBuffer, 32*1024, &nErr); if (bSuccess) { int nRetLen = 0; BOOL bRet = CLIENT_ParseData(CFG_CMD_ANALYSEGLOBAL, szOutBuffer, (char*)&stuAnalysGlobalInfo, sizeof(CFG_ANALYSEGLOBAL_INFO), &nRetLen); if (bRet == FALSE) { MessageBox("Pars

14、er data error", "Prompt"); return FALSE; } }//if(bSuccess) else { MessageBox("Get TrafficScene failed", "Prompt"); return FALSE; } 获取智能交通设备场景配置信息代码示例: int nRestart = 0; int nError = 0; char szOutBuffer[32*1024] = {0}; CFG_ANALYSEGLOBAL_INFO stuAnalysGlobalInfo = {0};

15、 // save global info BOOL bRet = CLIENT_PacketData(CFG_CMD_ANALYSEGLOBAL, (char*)&stuAnalysGlobalInfo, sizeof(CFG_ANALYSEGLOBAL_INFO), szOutBuffer, 32*1024); if (bRet == FALSE) { MessageBox("Pack data failed!"), "Prompt"); } else { BOOL bSuccess = CLIENT_SetNewDevConfig(m_lLogi

16、nID, CFG_CMD_ANALYSEGLOBAL, nChannelId, szOutBuffer, 32*1024, &nError, &nRestart, 3000); if (bSuccess) { MessageBox("Save successfully!", "Prompt"); } else { MessageBox("Save TrafficScene failed!"), "Prompt"); } } 智能分析设备配置演示程序中交通场景配置界面展示: 车道线设置界面展示: 3.2

17、2 检测物体模块配置 待检测物体模块配置参数包括待检测物体类型,检测区域,跟踪区域,待检测物体的最大,最小尺寸,具体描述如下: 带检测物体类型由当前设备的能力集决定,智能交通设备通常支持对车辆、车牌等物体的检测。 检测区域,跟踪区域是指在摄像头实际拍摄到的图片中画出的检测区和跟踪区的位置如图3.3所示(这两个区域坐标点是图片上的对应像素点位置)。 图3.3 待检测的物体最小,最大尺寸也是指物体在图片中的呈现的最小最大尺寸,以像素为单位。在待检测物体是车牌时,有一个最佳检测尺寸范围:长(50 – 240), 宽(10 – 100)。 获取设备能力集代码示例: CFG

18、CAP_ANALYSE_INFO stuChannelCap = {0}; char szOutBuffer[32*1024] = {0}; int nErr = 0; BOOL bSuccess = CLIENT_QueryNewSystemInfo(m_lLoginID, CFG_CAP_CMD_VIDEOANALYSE, nChannel, szOutBuffer, 32*1024, &nErr); if (bSuccess) { int nRetLen = 0; BOOL bRet = CLIENT_ParseData(CFG_CAP_CMD_V

19、IDEOANALYSE, szOutBuffer, (char*)&stuChannelCap, sizeof(CFG_CAP_ANALYSE_INFO), &nRetLen); if (bRet == FALSE) { MessageBox(ConvertString("Parser data error"), ConvertString("Prompt")); return; } } else { MessageBox(ConvertString("get device cap failed!"), ConvertString("Prom

20、pt")); } 获取智能交通设备带检测物体模块配置信息代码示例: int nErr = 0; char szOutBuffer[32*1024] = {0}; CFG_ANALYSEMODULES_INFO stuAnalysModuleInfo = {0}; BOOL bSuccess = CLIENT_GetNewDevConfig(m_lLoginID, CFG_CMD_ANALYSEMODULE, nChannel, szOutBuffer, 32*1024, &nErr); if (bSuccess) { int nRetL

21、en = 0; BOOL bRet = CLIENT_ParseData(CFG_CMD_ANALYSEMODULE, szOutBuffer, (char*)&stuAnalysModuleInfo, sizeof(CFG_ANALYSEMODULES_INFO), &nRetLen); if (bRet == FALSE) { MessageBox("Parser data error", "Prompt"); return FALSE; } }//if(bSuccess) else { MessageBox(Get Module

22、info failed!", "Prompt"); return FALSE; } 设置智能交通设备带检测物体模块配置信息代码示例: int nRestart = 0; int nError = 0; char szOutBuffer[32*1024] = {0}; CFG_ANALYSEMODULES_INFO stuAnalysModuleInfo = {0}; BOOL bRet = CLIENT_PacketData(CFG_CMD_ANALYSEMODULE, (char*)&stuAnalysModuleInfo, sizeof(CFG_AN

23、ALYSEMODULES_INFO), szOutBuffer, 32*1024); if (bRet == FALSE) { MessageBox("Pack data failed!", "Prompt"); } else { BOOL bSuccess = CLIENT_SetNewDevConfig(m_lLoginID, CFG_CMD_ANALYSEMODULE, nChannelId, szOutBuffer, 32*1024, &nError, &nRestart, 3000); if (bSuccess) { Me

24、ssageBox("Save successfully!", "Prompt"); } else { MessageBox("Save Module info failed!", "Prompt"); } } 智能分析设备配置演示程序中检测物体模块配置界面展示: 检测区及跟踪区设置界面展示: 3.2.3 事件规则配置 事件规则是对触发某个事件报警条件的描述,当智能设备检测到符合某个事件规则的情况发生时就会触发事件报警,并记录事件信息。一个智能交通设备上的一个事件可以对应多个规则,每个设备能够支持的规则数是有限的,可通过设备能力集获得

25、设备支持的最大规则数。 目前以交通卡口事件规则为例,对规则参数进行说明,交通卡口事件规则参数包括:规则名,规则使能,检测物体类型,速度上限,速度下限,车道号,车道线,检测线,具体说明如下: 规则名,是指当前规则的名字,不能与当前设备的其他规则重名。 规则使能,是指当前规则是否生效。 检测物体类型,是指当前规则能够检测的物体的类型,此处设置的类型必须是设备能力集中支持的物体类型。 速度上限,速度下限,是检测物体的运动速度上下限,单位:千米/小时。 车道号,是指当前规则所适用的车道。 车道线,是指当前规则所适用的车道位置,如下图所示,是指在摄像头实际拍摄到的图片中的位置,此处的车道

26、线与场景配置中的车道不会相互影响。 检测线,是指物体触发报警的位置,如图3.4所示,是指在摄像头实际拍摄到的图片中的位置。 图3.4 获取智能设备能力集代码示例见3.2.2。 获取智能设备规则配置信息代码示例: int nErr = 0; char szOutBuffer[32*1024] = {0}; CFG_ANALYSERULES_INFO stuAnalysRuleInfo = {0}; // nMaxRuleStructSize指设备支持的规则对应的最大规则结构体大小 // nMaxRuleNum指设备支持的最大规则数 in

27、t nBufLen = (sizeof(CFG_RULE_INFO) + nMaxRuleStructSize) * nMaxRuleNum; stuAnalysRuleInfo.pRuleBuf = new char[nBufLen]; stuAnalysRuleInfo.nRuleLen = nBufLen; BOOL bSuccess = CLIENT_GetNewDevConfig(m_lLoginID, CFG_CMD_ANALYSERULE, nChannel, szOutBuffer, 32*1024, &nErr, 2000); if (bSuccess)

28、 { int nRetLen = 0; BOOL bRet = CLIENT_ParseData(CFG_CMD_ANALYSERULE, szOutBuffer, (char*)&stuAnalysRuleInfo, sizeof(CFG_ANALYSERULES_INFO), &nRetLen); if (bRet == FALSE) { MessageBox("Parser data error", "Prompt"); return FALSE; } }//if(bSuccess) else { MessageBox("

29、Get Rule info error!", "Prompt"); return FALSE; } 设置智能设备规则配置信息代码示例: int nRestart = 0; int nError = 0; char szOutBuffer[32*1024] = {0}; CFG_ANALYSERULES_INFO stuAnalysRuleInfo = {0}; BOOL bRet = CLIENT_PacketData(CFG_CMD_ANALYSERULE, (char*)&stuAnalysRuleInfo, sizeof(CFG_ANALYSERU

30、LES_INFO), szOutBuffer, 32*1024); if (bRet == FALSE) { MessageBox("Pack data failed!", "Prompt"); } else { BOOL bSuccess = CLIENT_SetNewDevConfig(m_lLoginID, CFG_CMD_ANALYSERULE, nChannelId, szOutBuffer, 32*1024, &nError, &nRestart, 3000); if (bSuccess) { MessageBox("S

31、ave successfully!", "Prompt"); } else { MessageBox("Save Rule info failed!", "Prompt"); } } 智能分析设备配置演示程序中事件规则配置界面展示: 具体规则信息界面展示: 四、智能交通信息实时上传记相关SDK接口说明 4.1 智能交通信息实时上传SDK接口 4.1.1 智能交通设备实时上传接口说明 LONG CLIENT_RealLoadPicture(LONG lLoginID, int nChannelID, DWORD dwAlarmTyp

32、e, fAnalyzerDataCallBack cbAnalyzerData, DWORD dwUser); 函数说明:设置设备的实时上传事件的功能。调用该函数之后,当设备检测到交通违章等事件的时候,将通知给客户端。 参数说明: [in]lLoginID,CLIENT_Login的返回值 [in] nChannelID,需要设置的通道号 [in] dwAlarmType,需要设置的事件类型 类型 含义 EVENT_IVS_ALL 所有事件 EVENT_IVS_TRAFFICCONTROL 交通管制事件 EVENT_IVS_TRAFFICACCIDENT 交

33、通事故事件 EVENT_IVS_TRAFFICJUNCTION 交通路口事件 EVENT_IVS_TRAFFICGATE 交通卡口事件 EVENT_TRAFFICSNAPSHOT 交通抓拍事件 EVENT_IVS_TRAFFICJAM 交通拥堵事件 EVENT_IVS_TRAFFIC_RUNREDLIGHT 交通违章-闯红灯事件 EVENT_IVS_TRAFFIC_OVERLINE 交通违章-压车道线事件 EVENT_IVS_TRAFFIC_RETROGRADE 交通违章-逆行事件 EVENT_IVS_TRAFFIC_TURNLEFT 交通违章-违章左转

34、 EVENT_IVS_TRAFFIC_TURNRIGHT 交通违章-违章右转 EVENT_IVS_TRAFFIC_UTURN 交通违章-违章掉头 EVENT_IVS_TRAFFIC_OVERSPEED 交通违章-超速 EVENT_IVS_TRAFFIC_UNDERSPEED 交通违章-低速 EVENT_IVS_TRAFFIC_PARKING 交通违章-违章停车 EVENT_IVS_TRAFFIC_WRONGROUTE 交通违章-不按车道行驶 EVENT_IVS_TRAFFIC_CROSSLANE 交通违章-违章变道 EVENT_IVS_TRAFFIC_OVERYEL

35、LOWLINE 交通违章-压黄线 EVENT_IVS_TRAFFIC_DRIVINGONSHOULDER 交通违章-路肩行驶事件 EVENT_IVS_TRAFFIC_YELLOWPLATEINLANE 交通违章-黄牌车占道事件 [out] cbAnalyzerData,事件回调函数,用户可以在该回调函数中受到设备上传的事件。 [out] dwUser,用户在这里设置的参数,将在回调函数中传回。 返回值: 0 :设置失败。 其他:一个整数代表本次设置的句柄。 BOOL CLIENT_StopLoadPic(LONG lAnalyzerHandle); 函数说明

36、停止实时上传事件。 参数说明: lAnalyzerHandle, CLIENT_RealLoadPicture的返回值。 返回值: TRUE: 成功。 FALSE: 失败。 typedef int (CALLBACK *fAnalyzerDataCallBack)(LONG lAnalyzerHandle, DWORD dwAlarmType, void* pAlarmInfo, BYTE *pBuffer, DWORD dwBufSize, DWORD dwUser, int nSequence, void *reserved); 函数说明: 事件回调函数。

37、 函数参数: lAnalyzerHandle, CLIENT_RealLoadPicture的返回值。 dwAlarmType,事件类型,用户根据不同的事件类型,将pAlarmInfo转化不同结构体的。 事件类型 事件对应的结构体 EVENT_IVS_TRAFFICCONTROL DEV_EVENT_TRAFFICCONTROL_INFO EVENT_IVS_TRAFFICACCIDENT DEV_EVENT_TRAFFICACCIDENT_INFO EVENT_IVS_TRAFFICJUNCTION DEV_EVENT_TRAFFICJUNCTION_INFO EVE

38、NT_IVS_TRAFFICGATE DEV_EVENT_TRAFFICGATE_INFO EVENT_TRAFFICSNAPSHOT DEV_EVENT_TRAFFICSNAPSHOT_INFO EVENT_IVS_TRAFFICJAM DEV_EVENT_TRAFFICJAM_INFO EVENT_IVS_TRAFFIC_RUNREDLIGHT DEV_EVENT_TRAFFIC_RUNREDLIGHT_INFO EVENT_IVS_TRAFFIC_ OVERLINE DEV_EVENT_TRAFFIC_ OVERLINE_INFO EVENT_IVS_TRAFFIC_

39、RETROGRADE DEV_EVENT_TRAFFIC_ RETROGRAD _INFO EVENT_IVS_TRAFFIC_ TURNLEFT DEV_EVENT_TRAFFIC_ TURNLEFT_INFO EVENT_IVS_TRAFFIC_ TURNRIGHT DEV_EVENT_TRAFFIC_ TURNRIGHT_INFO EVENT_IVS_TRAFFIC_ UTURN DEV_EVENT_TRAFFIC_ UTURN_INFO EVENT_IVS_TRAFFIC_OVERSPEED DEV_EVENT_TRAFFIC_ OVERSPEED_INFO EVE

40、NT_IVS_TRAFFIC_UNDERSPEED DEV_EVENT_TRAFFIC_ UNDERSPEED_INFO EVENT_IVS_TRAFFIC_PARKING DEV_EVENT_TRAFFIC_ PARKING _INFO EVENT_IVS_TRAFFIC_WRONGROUTE DEV_EVENT_TRAFFIC_ WRONGROUTE _INFO EVENT_IVS_TRAFFIC_CROSSLANE DEV_EVENT_TRAFFIC_ CROSSLANE _INFO EVENT_IVS_TRAFFIC_OVERYELLOWLINE DEV_EVENT_

41、TRAFFIC_ OVERYELLOWLINE _INFO EVENT_IVS_TRAFFIC_DRIVINGONSHOULDER DEV_EVENT_TRAFFIC_ DRIVINGONSHOULDER _INFO EVENT_IVS_TRAFFIC_YELLOWPLATEINLANE DEV_EVENT_TRAFFIC_ YELLOWPLATEINLANE _INFO pAlarmInfo, 事件的详细信息。需要转为为对应的结构体。 pBuffer,事件对应的图片。 dwBufSize,事件对应的图片的大小。 dwUser,CLIENT_RealLoadPicture中

42、设置的dwUser。 nSequence, 表示上传的图片的情况,为0时表示是第一次出现,为1时表示此次之后还有一次,为2时表示最后一次出现或仅出现一次。 reserved,保留字节。 4.2 智能分析设备演示程序具体说明 智能分析设备演示程序包含了两部分的功能。 1. 设置设备上传的事件,并且实时的显示事件的详细内容。每次设置对应一个通道,并且对应一种类型的事件,如果要设置该通道上传所有类型的事件,可以将参数dwAlarmType设置为EVENT_IVS_ALL. 但是如果需要设置一个通道上传两种事件,那么请调用两次CLIENT_RealLoadPicture,并且传入不同的事

43、件类型。 一般的操作顺序如下: 1. 在区域 1 中输入设备的地址,端口,用户名,密码,然后点击登录 2. 在区域 2 中选择一个通道,可以实时的监视该通道,用户也可以不监视,监视和事件的上传没有关系。 3. 在区域 4 中选择需要上传事件的通道。 4. 在区域 5 中选择通道需要上传的事件类型。 5. 在区域 9 中选择列表中要显示的事件类型,在10中选择列表中收到的事件的排列方式。 6. 点击开始。事件详细信息就会显示在区域8中,图片显示在区域6中,牌照或文字显示在7中;7中左边的图片是程序从实际收到图片中根据事件信息里给的车牌位置信息抠出来的。 7. 点击停止。设备将

44、不在上传事件。 其中点击 【开始】, 设置设备上传事件的代码主要如下: void CDialogEventRule::OnButtonStart() { //判断用户是否已经登录 if (m_lLoginID == 0) { MessageBox(ConvertString("Please login first!"),ConvertString("Prompt")); return; } //遍历所有的通道,如果用户选择了该通道,那么设置该通道的上传事件 for (int nChn = 0; nChn < m_netDevInfo.by

45、ChanNum; nChn++) { if ( m_lstEventChannel.GetCheck(nChn) == 0 ) { continue; } //判断是否选择了所有的事件,如果选择了所有的事件,dwAlarmType可以使用EVENT_IVS_ALL, //否则需要通过循环来实现各个类型事件的订阅。 int i = 0; int nAlarmTypeCount = m_lstEventType.GetCount(); bool isALLChecked = true; for (i = 0; i < nAl

46、armTypeCount; i++) { int nCheck = m_lstEventType.GetCheck(i); if (nCheck == 0) { isALLChecked = false; break; } } if (isALLChecked)//使用EVENT_IVS_ALL来设置上传所有事件 { LONG lRet = CLIENT_RealLoadPicture(m_lLoginID, nChn, EVENT_IVS_ALL, CDialogEventRule::RealLoad

47、PicCallback, (DWORD)this); if (lRet == 0) { MessageBox(ConvertString("Subscribe picture failed!"), ConvertString("Prompt")); continue; } m_allRealLoadPicHandle.push_back(lRet);//将句柄保存,后面可以停止事件的上传 } else//通过循环来设置某个通道所需要设置的一个或多个事件 { for (i = 0; i < nAlarmType

48、Count; i++) { if (m_lstEventType.GetCheck(i) == 0 ) { continue; } DWORD dwAlarmType = m_lstEventType.GetItemData(i); LONG lRet = CLIENT_RealLoadPicture(m_lLoginID, nChn, dwAlarmType, CDialogEventRule::RealLoadPicCallback, (DWORD)this); if (lRet == 0) {

49、 MessageBox(ConvertString("Subscribe picture failed!"), ConvertString("Prompt")); continue; } m_allRealLoadPicHandle.push_back(lRet); 将句柄保存,后面可以停止事件的上传 } } } //Change UI this->ChangeUI(UI_STATE_SUBSCRIBE_NOW); } 点击 【停止】的代码主要如下 遍历调用CLIENT_RealLoadPicture时保存的句柄,

50、调用CLIENT_StopLoadPic来停止事件的上传 std::vector::iterator iter = m_allRealLoadPicHandle.begin(); while (iter != m_allRealLoadPicHandle.end()) { CLIENT_StopLoadPic(*iter); iter++; } m_allRealLoadPicHandle.clear(); 其中事件的接受在回调函数中完成。回调函数的中主要完成的任务是显示事件和保存事件。显示事件或保存事件的方法用户可以采取适合自己的方法,但是在这

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服