当前位置: 首页 > news >正文

拌合楼软件开发(33)多品牌车牌识别摄像头引入

前言:

        为了降本,原有的海康摄像头外,有必要引入其他的品牌车牌识别摄像头,那么如何在程序中能够根据配置文件来调用不同品牌的摄像头来进行车牌识别,拍照等的操作。本文的先通过一个抽象类,后续有文章讲解各品牌sdk如何来集成。

需要实现的功能清单:

一、车牌识别:

        1. 支持触发识别:

        通过触发线实现车辆的车牌自动识别并上报,程序进行处理。

        2. 支持强制车牌识别:

        通过程序去强制车牌识别摄像头进行车牌识别

二、 抓拍图片:

        程序可以控制车牌识别摄像头,对场景图片进行抓拍。

三、视频流显示

        视频流推送到程序,通过picturebox来显示,程序端可以看到实时监控画面。

四、道闸控制

        车牌识别后输出控制信号到道闸,控制道闸的开启和关闭操作。

程序抽象化类的实现:

        一、定义一个结构体实现车牌识别后推送的数据

   public struct LicensePlateInfo{public string licensePlate;    //车牌public DateTime getLicensePlateTime;   //获取到的时间public List<PhotoInfo> picNames;   //触发生成的图片信息public string ip;   //当前设备IP} public struct PhotoInfo{public string fileName;   //文件名public DateTime getPhotoTime;   //图片获取到时间public string type;   //图片类型}

        部分摄像头,触发生成图片时会生成两张图片,一张为车牌的小图,一张未抓拍的整体环境图片。所以在PhotoInfo中增加了type来做区别。

        二、抽象类的定义:        

 public abstract class LicensePlateDevice{}

        三、定义的一些属性:

 public int LPDHandle = -1;   //摄像头登录后返回值public int LPDViewHandle = -1;   //摄像头预览后返回值public IntPtr camerHandle;   //部分摄像头兼容保留public string ipAddress;   //IP地址public string userName;    //用户名public string password;    //密码public ushort port;   //端口public PictureBox picBox;   //显示的空间public bool deviceStatus = false;   //状态

        四、车牌识别事件的定义:        

    public event EventHandler<LicensePlateInfo> GetLicensePlateInfo;public event EventHandler<string> GetLicensePlate;

        定义了两种类型的事件,一种抛出前面我们定义的结构体,一种直接就只抛出车牌了。

        五、构造函数:

   public LicensePlateDevice(string _ip, string _userName = "", string _password = "", ushort _port = 0){ipAddress = _ip;userName = _userName;password = _password;port = _port;}

        六、定义的方法

        public abstract int ConnectToDevice();  //连接到车牌设备public abstract void StartView();  //开启监控预览public abstract string GetPic();  //抓拍图片public abstract string GetPlate();// 获取车牌public abstract void CloseConnect();  //关闭连接public abstract void OpenGate(); //开闸public abstract void CloseGate(); //关闸public abstract void CloseView();  //关闭监控预览

        七、两个事件:        

  protected virtual void onGetLicensePlateInfo(LicensePlateInfo e){GetLicensePlateInfo?.Invoke(this, e);}protected virtual void onGetLicensePlate(string e){GetLicensePlate?.Invoke(this, e);}

        八、整个完整的代码:

public abstract class LicensePlateDevice{public int LPDHandle = -1;public int LPDViewHandle = -1;public IntPtr camerHandle;public string ipAddress;public string userName;public string password;public ushort port;public PictureBox picBox;public bool deviceStatus = false;   public event EventHandler<LicensePlateInfo> GetLicensePlateInfo;public event EventHandler<string> GetLicensePlate;protected virtual void onGetLicensePlateInfo(LicensePlateInfo e){GetLicensePlateInfo?.Invoke(this, e);}protected virtual void onGetLicensePlate(string e){GetLicensePlate?.Invoke(this, e);}public LicensePlateDevice(string _ip, string _userName = "", string _password = "", ushort _port = 0){ipAddress = _ip;userName = _userName;password = _password;port = _port;}public abstract int ConnectToDevice();public abstract void StartView();public abstract string GetPic();  //抓拍图片public abstract string GetPlate();// 获取车牌public abstract void CloseConnect();  //关闭连接public abstract void OpenGate(); //开闸public abstract void CloseGate(); //关闸public abstract void CloseView();}

总结:

        车牌识别的摄像头品牌很多,各自提供的sdk 实现方法各不相同,本文抽取了项目中需要的功能编写了一个抽象类,为后续通过配置文件来调用不同品牌摄像头打下基础。

http://www.dtcms.com/a/521508.html

相关文章:

  • 使用postman玩转接口测试
  • 桂林北站怎么去阳朔辽宁网站建设多少钱
  • 烟台优化网站建设企业微信邮箱登录入口
  • 做移动网站优化快速网站推广如何做的
  • 网站建设需要怎样的经营范围公司logo图片大全
  • EtherCAT状态机
  • 探究Windows图形化界面的起源与原因
  • vue 如何实现粘贴复制功能
  • 企业信息化建设如何帮助客户理解网站流量已经有了域名怎么做网站
  • 华大基因 建设网站wordpress点击折叠展开内容
  • 永康网站建设的公司苏州网站建设丨好先生科技
  • 学习笔记 | 链路预测
  • I. Imagined Holly——The 2025 ICPC Asia Xi‘an Regional Contest(2025ICPC区域赛西安站)
  • 【JUnit实战3_09】第五章:软件测试的基本原则简介
  • 安徽飞亚建设网站潍坊知名网站建设最新报价
  • 凡科建站免费版可以做什么wordpress 上传pdf
  • 肥乡专业做网站wordpress模板汉化
  • Linux学习笔记及常用运维命令
  • 【Android】横竖屏切换时生命周期变化
  • 购物网站建设 成都那家公司做网站比较好
  • 网站开发合同注意网站怎么搭建
  • SpringBoot-Web开发之嵌入式容器
  • 网站整站建设廊坊企业网站服务
  • 做门户网站的公司有哪些论坛做视频网站有哪些
  • OBS弹幕助手下载,OBS弹幕助手安装使用教程,OBS语音读弹幕,OBS语音助手下载地址
  • 百度网站推广外包织梦的网站收录不好
  • 欢迎访问中国建设银行网站个人客户鹤壁专业做网站多少钱
  • wordpress 添加图片水印seo网络优化是做什么的
  • Spring Boot Actuator:打造高效监控系统
  • 凡客衬衫官方网站东莞五金网站建设