环境: win10(10.0.16299.0)+ vs2017
sdk版本:CH-HCNetSDK_Win32_V5.3.2.15_build20171122https://download.csdn.net/download/cngwj/10307129(工程已包含sdk下载后可直接运行)
1、首先确认摄像头是否支持车辆检测
2、 启用事件抓图
3、配置sdk
下载sdk http://www.hikvision.com/cn/download_61.html
4、运行效果图
/************************************************************************
* Copyright(c) 2018
*
* File:报警布防_0.3.c
* Brief:调用海康威视sdk获取车牌号
* Version: 0.3
* Author: 一念无明
* Email:zhunmeng@live.com
* Date: 2018.02.26
* History:
2018.2.26 调用海康威视sdk获取车牌号
2018.3.7 获取设备系统时间
2018.3.12 保存车牌号到csv文件
2018.3.14对识别到的车牌号进行白名单比对
************************************************************************/
//-------------------------------------------------------------------------
//头文件
#include
#include
#include
#include
#include
#include "Windows.h"
#include "HCNetSDK.h"
#include
#include //getch()函数用
using namespace std;
//参数声明
int iNum = 0; //图片名称序号
LONG IUserID;//摄像机设备
LONG IHandle = -1;//报警布防/撤防;
NET_DVR_DEVICEINFO_V30 struDeviceInfo;//设备信息
char sDVRIP[20];//抓拍摄像机设备IP地址
short wDVRPort = 8000;//设备端口号
char sUserName[20];//登录的用户名
char sPassword[20];//用户密码
string carNum;//车牌号
string LineByLine;//逐行读取文件
//---------------------------------------------------------------------------------
//函数声明
void Init();//初始化
void Demo_SDK_Version(); //获取sdk版本
void Connect();//设置连接事件与重连时间
void Htime();//获取海康威视设备时间
bool Login(char *sDVRIP, short wDVRPort, char *sUserName, char *sPassword);//注册摄像机设备
void CALLBACK MSesGCallback(LONG ICommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void *pUser);//报警回调函数
void SetMessageCallBack();//设置报警回调函数
void Whitelist();//白名单比对
void Blacklist();//黑名单比对
void SetupAlarm();//报警布防
void CloseAlarm();//报警撤防
void OnExit(void);//退出
//---------------------------------------------------------------------------------------------------
//函数定义
//初始化
void Init()
{
//获取系统时间
SYSTEMTIME sys;
GetLocalTime(&sys);
cout << sys.wYear << "-" << sys.wMonth