车牌识别系统HVActiveX控件接口说明文档格式.docx
- 文档编号:19002882
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:11
- 大小:91.27KB
车牌识别系统HVActiveX控件接口说明文档格式.docx
《车牌识别系统HVActiveX控件接口说明文档格式.docx》由会员分享,可在线阅读,更多相关《车牌识别系统HVActiveX控件接口说明文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
附加输出信息5
4控制接口函数6
voidConnectTo(BSTRstrAddr)6
LONGGetStatus(void)6
voidDisconnect(void)6
VoidForceSend(void)6
LONGForceSendEx(LONGiVideoID);
6
LONGSetConfig(void)6
LONGSetDevIP(void)7
LONGSetDevBasic(void)7
LONGSetDevMode(void)7
LONGSetResultParam(void)7
LONGSetDataProcessing(void)7
5获取信息和保存结果接口函数7
LONGGetCarID(void)7
BSTRGetPlate(void)7
BSTRGetPlateColor(void)7
BSTRGetPlateInfo(void)7
LONGGetVideoID(void)8
LONGSaveSnapImage(BSTRstrFileName)8
LONGSaveSnapImage2(BSTRstrFileName)8
LONGSavePlateImage(BSTRstrFileName)8
LONGSavePlateBinImage(BSTRstrFileName)8
LONGSaveSizedSnapImage(LPCTSTRstrFileName,LONGiWidth,LONGiHeight)8
LONGSaveSizedSnapImage2(LPCTSTRstrFileName,LONGiWidth,LONGiHeight)8
LONGSaveComplexImage(BSTRstrFileName)8
LONGSavePlateBin2BMP(BSTRstrFileName)9
LONGGetVideoFrame(BYTE*pFrame,LONG*plSize)9
BSTRGetVideoFrameSM(LONGlVideoID,LONG*plSize)9
LONGLONGGetImageTime(LONGImageIndex)10
BSTRGetImageTimeString(LONGImageIndex)10
BSTRGetImageShareMemName(LONGImageIndex,LONGiType,LONG*pImageSize)10
6事件函数11
voidOnReceivePlate()11
voidOnReceiveVideo(void)11
7HVActiveX流程图12
1注册控件
◆HVActiveX2控件必须依赖于HVDLL.dll和GrfCfg.dll。
所以请将HVActiveX2.ocx、HVSHOW.ocx及HVDLL.dll和GrfCfg.dll放在同一目录下。
HVActiveX2控件运行时需要GDI+支持,如系统不支持GDI+请在控件目录下添加GdiPlus.dll。
WIN98系统下还要增加Dbghelp.dll。
◆HVSHOW控件仅用于显示HVActiveX2控件的数据,非必须控件。
如果需要控件显示大图、小图等信息的,请根据需要添加HVSHOW控件。
◆用VC++2003开发的用户请打上SP1的补丁。
◆如果使用.bat文件注册控件的,请在.bat文件中写入:
regsvr32hvactivex2.OCX
regsvr32hvshow.OCX
其中regsvr32表示在当前目录下执行注册,hvactivex2.OCX表示要注册的控件。
.bat文件必须与HVDLL.dll和GrfCfg.dll放在同一目录下。
否则必须写明控件所在的绝对路径,如:
regsvr32D:
\hvactivex2.OCX。
2控件属性
⏹LONGRecvSnapImageFlag
是否接收车辆大图开关,0表示不接收车辆图片,非0表示接收车辆图片。
⏹LONGRecvPlateImageFlag
是否接收车牌小图开关,0表示不接收车牌图片,非0表示接收车牌图片。
⏹LONGRecvPlateBinImageFlag
是否接收车牌二值化图开关,0表示不接收车牌二值化图片,非0表示接收车牌二值化图片。
⏹LONGRecvVideoFlag
是否接收实时视频流开关,0表示不接收视频流,非0表示接收视频流。
⏹BOOLAutoSaveFlag
是否自动保存识别结果开关,true为自动保存,false为不自动保存。
⏹BSTRShowPlateImage
显示车牌图HVSHOW控件名。
⏹BSTRShowFirstImage
显示第一张大图HVSHOW控件名。
⏹BSTRShowSecondImage
显示第二张大图HVSHOW控件名。
⏹BSTRShowPlateResult
显示车牌号码HVSHOW控件名。
⏹BSTRShowCaptureVideo
显示抓拍视频HVSHOW控件名。
⏹BSTRShowMainVideo
显示识别视频HVSHOW控件名。
⏹BSTRStation
预设保存合成图片时附加的站点(卡口)信息。
⏹BSTRDirection
预设保存合成图片时附加的行驶方向信息。
3属性页
⏹附加输出信息
●站点(卡口)名称:
与Station属性关联,预设保存合成图片时附加的站点(卡口)信息。
●行驶方向:
与Direction属性关联,预设保存合成图片时附加的行驶方向信息。
4控制接口函数
⏹voidConnectTo(BSTRstrAddr)
连接到车牌识别器,strAddr为车牌识别器的IP地址或者是上位机的串口名称,例如“192.168.0.18”、“COM1”等等。
是否连接成功可以通过GetStatus()函数调用取得。
⏹LONGGetStatus(void)
取得当前的连接状态。
可能的返回值包括如下:
0:
已连接
-1:
已断开
⏹voidDisconnect(void)
断开当前连接。
⏹VoidForceSend(void)
发送软件触发信号,强制出结果。
(也称强制出大图)
⏹LONGForceSendEx(LONGiVideoID);
发送软件触发信号,强制处理当前时刻的数据并输出结果。
iVideoID指定哪一路视频,如果此参数不设置则为第0路,范围:
0~1。
返回0:
触发成功,否则触发不成功。
注意:
本函数针对双路识别器并且在识别器设置为可触发时方可生效。
⏹LONGSetConfig(void)
设置识别器ini配置。
返回0表示成功。
⏹LONGSetDevIP(void)
设置识别器IP。
⏹LONGSetDevBasic(void)
设置设备信息。
⏹LONGSetDevMode(void)
设置识别器工作模式。
⏹LONGSetResultParam(void)
设置保存模式。
⏹LONGSetDataProcessing(void)
设置结果后处理。
5获取信息和保存结果接口函数
⏹LONGGetCarID(void)
取得当前检测到的车辆序号,每通过一辆车后自动加一。
⏹BSTRGetPlate(void)
取得当前检测到的车牌号码。
⏹BSTRGetPlateColor(void)
取得当前检测到的车牌颜色(“黄”、“蓝”、“白”、“黑”)。
⏹BSTRGetPlateInfo(void)
取得当前车牌的附加信息(车速、车牌亮度等)。
⏹LONGGetVideoID(void)
取得当前车牌结果的视频ID。
⏹LONGSaveSnapImage(BSTRstrFileName)
保存车辆第一张大图到指定的文件。
⏹LONGSaveSnapImage2(BSTRstrFileName)
保存车辆第二张大图到指定的文件。
⏹LONGSavePlateImage(BSTRstrFileName)
保存车牌图片到指定文件。
⏹LONGSavePlateBinImage(BSTRstrFileName)
保存车牌二值化图片到指定文件。
⏹LONGSaveSizedSnapImage(LPCTSTRstrFileName,LONGiWidth,LONGiHeight)
按照指定的大小宽高保存第一张大图到指定的文件。
⏹LONGSaveSizedSnapImage2(LPCTSTRstrFileName,LONGiWidth,LONGiHeight)
按照指定的大小宽高保存第二张大图到指定的文件。
⏹LONGSaveComplexImage(BSTRstrFileName)
保存车辆第一张和第二张大图的合成图,并加入相关的文字信息(默认在图上显示时间信息)至图上。
⏹LONGSavePlateBin2BMP(BSTRstrFileName)
保存二值图为BMP图。
⏹LONGGetVideoFrame(BYTE*pFrame,LONG*plSize)
取得实时视频流的一帧,pFrame传入返回数据的地址(建议pFrame指向的数据空间应不小于128*1024字节,如果连接的是高清视频数据则需要更大的缓冲区,请根据实际应用而定),plSize在调用时传入缓冲区大小(必选),函数返回后,plSize传出返回数据的大小,pFrame传出的数据类型为JPG。
本函数在OnReceiveVideo触发时调用有效,返回0表示此帧来自第一路视频,1表示此帧来自第二路视频,-1说明返回失败。
注:
该函数只在以C和C++作为编程语言的环境中使用。
⏹BSTRGetVideoFrameSM(LONGlVideoID,LONG*plSize)
取得实时视频流的一帧数据所在共享内存的名字.。
LVideoID视频的ID:
0代表IN1视频口,1代表IN2视频口。
plSize视频流一帧数据的大小。
返回值:
返回一个共享内存的文件名,调用该接口,得到一个共享内存的名字,通过该名字打开共享内存,并读出内存中的数据即为视频流的一帧数据。
通过共享内存的名字,打开共享内存并取出其中的数据就是实时视频流的一帧与GetVideoFrame()实现的功能完全一样。
C#示例:
声明:
//打开共享内存
[DllImport("
Kernel32.dll"
CharSet=CharSet.Auto)]
publicstaticexternIntPtrOpenFileMapping(intdwDesiredAccess,[MarshalAs(UnmanagedType.Bool)]boolbInheritHandle,stringlpName);
///读共享内存中的数据
publicstaticexternIntPtrMapViewOfFile(IntPtrhFileMapping,uintdwDesiredAccess,uintdwFileOffsetHigh,uintdwFileOffsetLow,uintdwNumberOfBytesToMap);
//关闭内存映射文件
publicstaticexternboolUnmapViewOfFile(IntPtrpvBaseAddress);
publicstaticexternboolCloseHandle(IntPtrhandle);
constintFILE_MAP_READ=0x0004;
在OnReceivePlate()事件中实现:
stringstrName="
"
;
intiSize=1024*1024;
strName=axHVActiveX21.GetVideoFrameSM(0,refiSize);
IntPtrirMapFile=IntPtr.Zero;
irMapFile=OpenFileMapping(FILE_MAP_READ,false,strName);
if(irMapFile==IntPtr.Zero)
{
return;
}
IntPtritData=IntPtr.Zero;
itData=MapViewOfFile(irMapFile,FILE_MAP_READ,0,0,0);
if(itData==IntPtr.Zero)
CloseHandle(irMapFile);
}
byte[]bData=newbyte[iSize];
Marshal.Copy(itData,bData,0,iSize);
///完成一次接收后调用下面两个函数关闭共享内存(也就是不用内存映射的时候要关闭)
UnmapViewOfFile(itData);
CloseHandle(irMapFile);
⏹LONGLONGGetImageTime(LONGImageIndex)
取得车牌大图的时间。
成功时返回时间,失败时返回-1。
通过返回值返回的时间的一个以毫秒为单位的时间。
⏹BSTRGetImageTimeString(LONGImageIndex)
成功时返回时间,失败时返回0。
通过返回值返回的时间格式:
20090210100000。
说明:
取大图时间时,建议使用GetImageTimeString()去取。
⏹BSTRGetImageShareMemName(LONGImageIndex,LONGiType,LONG*pImageSize)
取到车车辆图片数据共享内存的名字,包括大图、小图、二值化图。
这个参数可以设置为0。
iType所取的是哪种图片:
0为大图,1为小图,2为二值化图。
pImageSize接收图片的大小。
成功时返回图片所在共享内存的名字,失败时返回空的字符串。
通过共享内存的名字打开共享内存并取出其中的数据,就是图片的数据了。
6事件函数
⏹voidOnReceivePlate()
识别结果到达信息。
以下接口函数必须在该事件下调用:
调用GetCarID()取得车辆序号。
调用GetPlate()取得车牌结果。
调用GetPlateColor()取得车牌颜色。
调用GetPlateInfo()取得车牌附加信息。
调用GetVideoID()取得当前车牌结果的视频ID。
调用SaveSnapImage()保存车辆第一张大图到指定的文件。
调用SaveSnapImage2()保存车辆第二张大图到指定的文件。
调用SavePlateImage()保存车牌小图到指定的文件。
调用SavePlateBinImage()保存车牌二值化图到指定的文件。
调用SaveSizedSnapImage()按照指定的大小宽高保存第一张大图到指定的文件。
调用SaveSizedSnapImage2()按照指定的大小宽高保存第二张大图到指定的文件。
调用SavePlateBin2BMP()保存二值图为BMP图。
调用SaveComplexImage()保存车辆第一张和第二张大图的合成图并加入预设的文字信息至图上。
调用GetImageTime()取是车牌大图的时间,毫秒数。
调用GetImageTimeString()取得车牌大图的时间字符串。
调用GetImageShareMemName()取到车车辆图片数据共享内存的名字,包括大图、小图、二值化图。
⏹voidOnReceiveVideo(void)
视频信息,设置RecvVideoFlag为非0后有一帧数据到达时触发。
调用GetVideoFrame()取得实时视频流的一帧。
调用GetVideoFrameSM()取得实时视频流的一帧数据所在共享内存的名字。
7HVActiveX流程图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 车牌 识别 系统 HVActiveX 控件 接口 说明