概述
如今,使用图像识别技术已经是很普遍了,甚至现在用的人脸识别系统也是越来越多。平常我们接触最多的就是车牌识别系统了,停车场、小区大门管理都用上了车牌识别,车来了可以自动在系统中进行比对,符合条件的自动抬杆放行,减少人为干预也减少了很多麻烦和口舌。
这里我们要把测个系统引入到厂门放行中,在系统中刷卡写入数据后自动在ERP系统中写入对应的车辆白名单,车辆即可入场。按照厂家提供的接口文件,实现直接传递车牌参数即可写入白名单的效果。
需要说明的是:白名单数据是需要写入到摄像头硬件中的,并且写入时需要摄像头连接在局域网内。虽然写入后可以脱机使用,但是在这个场景中并不允许脱机使用。
当完成厂内业务后,再在系统白名单中将数据删除,即实现了白名单的实时应用。
车牌识别白名单添加方法:
/// <summary>
/// 增加车辆白名单
/// </summary>
/// <param name="CarPlate">车牌号</param>
public string AddCarWhiteList( string CarPlate )
{
string returnMsg = "";
byte[] chBuf;
bool bResult = false;
int nID = 0;
WTY.WTYSDK_WhiteList.WTYSDK_WLIST_VEHICLE newPlateInfo = new WTY.WTYSDK_WhiteList.WTYSDK_WLIST_VEHICLE();
if (CarPlate.Length > 16 || CarPlate.Length <= 0)
{
returnMsg ="车牌号码格式不正确";
}
//车牌号码
newPlateInfo.strPlateID = new byte[16];
chBuf = Encoding.GetEncoding("GB2312").GetBytes(CarPlate);
Array.Copy(chBuf, newPlateInfo.strPlateID, chBuf.Length);
//用户ID
bResult = int.TryParse(2.ToString(), out nID); //用户id 提前写入 固定
newPlateInfo.uCustomerID = (uint)nID;
//车辆编码
newPlateInfo.strCode = new byte[20];
chBuf = Encoding.GetEncoding("GB2312").GetBytes(this.PlateCodeInCar.Text);
Array.Copy(chBuf, newPlateInfo.strCode, chBuf.Length);
//车辆备注
newPlateInfo.strRemark = new byte[100];
chBuf = Encoding.GetEncoding("GB2312").GetBytes(this.PlateRemarkInCar.Text);
Array.Copy(chBuf, newPlateInfo.strRemark, chBuf.Length);
newPlateInfo.bEnable = 1;
newPlateInfo.bUsingTimeSeg = 0;
//是否黑名单
newPlateInfo.iBlackList = 0;
//创建时间
newPlateInfo.struTMCreate = new byte[20];
chBuf = Encoding.GetEncoding("GB2312").GetBytes(DateTime.Now.ToString("yyyy/MM/dd") + " " + DateTime.Now.ToString("HH:mm:ss"));
Array.Copy(chBuf, newPlateInfo.struTMCreate, chBuf.Length);
//生效时间
newPlateInfo.struTMEnable = new byte[20];
chBuf = Encoding.GetEncoding("GB2312").GetBytes(DateTime.Now.ToString("yyyy/MM/dd") + " " + DateTime.Now.ToString("HH:mm:ss"));
Array.Copy(chBuf, newPlateInfo.struTMEnable, chBuf.Length);
//过期时间
newPlateInfo.struTMOverdule = new byte[20];
chBuf = Encoding.GetEncoding("GB2312").GetBytes(DateTime.Now.AddDays(1).ToString("yyyy/MM/dd") + " " + DateTime.Now.ToString("HH:mm:ss"));
Array.Copy(chBuf, newPlateInfo.struTMOverdule, chBuf.Length);
//车牌颜色和车辆类型
newPlateInfo.iColor = 1;
newPlateInfo.iPlateType = 1;
//添加车辆
nID = WTY.WTYSDK_WhiteList.WTY_WhiteListInsertVehicle(pServerIP, newPlateInfo);
if (nID == 0)
{
returnMsg = "SUCCESS";
}
else
{
returnMsg = "添加车辆失败,ret = " + nID.ToString();
}
return returnMsg;
}
最后
以上就是潇洒小鸭子为你收集整理的智能化设备开发 车牌识别硬件的系统集成测试(代码)的全部内容,希望文章能够帮你解决智能化设备开发 车牌识别硬件的系统集成测试(代码)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复