Maison  >  Article  >  Java  >  Maîtriser les compétences essentielles au développement secondaire du SDK Java Hikvision

Maîtriser les compétences essentielles au développement secondaire du SDK Java Hikvision

WBOY
WBOYoriginal
2023-09-06 08:10:441114parcourir

Maîtriser les compétences essentielles au développement secondaire du SDK Java Hikvision

Maîtrisez les compétences essentielles pour le développement secondaire du SDK Java Hikvision

Introduction :
Avec le développement rapide des technologies de l'information, les systèmes de vidéosurveillance ont été largement utilisés dans divers domaines. En tant que principal fournisseur national de solutions de vidéosurveillance, les produits et technologies de Hikvision ont toujours occupé une position importante sur le marché. Afin de répondre aux besoins des différents projets, Hikvision fournit un SDK permettant aux développeurs d'effectuer un développement secondaire. Cet article présentera quelques compétences essentielles pour maîtriser le développement secondaire du SDK Java Hikvision et joindra des exemples de code correspondants.

1. Comprendre les fonctions et les interfaces du SDK Hikvision

Avant d'effectuer le développement secondaire du SDK Java Hikvision, vous devez d'abord comprendre les fonctions et les interfaces du SDK Hikvision. Hikvision fournit une interface SDK riche, couvrant des fonctions telles que la vidéosurveillance, la reconnaissance faciale et l'analyse intelligente. Les développeurs peuvent choisir l'interface de développement correspondante en fonction de besoins spécifiques. Après avoir maîtrisé les fonctions de base du SDK, nous pouvons commencer la pratique du développement secondaire.

2. Configurer l'environnement de développement et importer le package SDK

Avant d'effectuer le développement secondaire du SDK Java Hikvision, nous devons configurer l'environnement de développement et importer le package SDK. Téléchargez d'abord le package de développement Java du SDK Hikvision et importez-le dans l'outil de développement. Ensuite, nous devons configurer les bibliothèques dépendantes et l'environnement d'exploitation appropriés. Pour les étapes de configuration spécifiques, veuillez vous référer à la documentation officielle de Hikvision.

3. Implémentation de la fonction de vidéosurveillance

  1. Initialiser le SDK

Avant d'effectuer le développement secondaire de la fonction de vidéosurveillance, nous devons d'abord initialiser le SDK. Le code spécifique est le suivant :

HCNetSDK.INSTANCE.NET_DVR_Init();
  1. Connexion à l'appareil

La connexion à l'appareil est une étape clé pour la fonction de vidéosurveillance. Nous pouvons nous connecter en utilisant le compte administrateur et obtenir le handle de connexion pour les opérations ultérieures. Le code spécifique est le suivant :

HCNetSDK.NET_DVR_USER_LOGIN_INFO loginInfo = new HCNetSDK.NET_DVR_USER_LOGIN_INFO();
loginInfo.sDeviceAddress = "192.168.1.100";
loginInfo.sUserName = "admin";
loginInfo.sPassword = "123456";
loginInfo.wPort = 8000;

HCNetSDK.NET_DVR_DEVICEINFO_V40 deviceInfo = new HCNetSDK.NET_DVR_DEVICEINFO_V40();
IntByReference errorCode = new IntByReference();

int loginHandle = HCNetSDK.INSTANCE.NET_DVR_Login_V40(loginInfo, deviceInfo);
if (loginHandle < 0) {
    int error = HCNetSDK.INSTANCE.NET_DVR_GetLastError();
    System.out.println("登录失败,错误码:" + error);
} else {
    System.out.println("登录成功,登录句柄:" + loginHandle);
}
  1. Aperçu en temps réel

L'aperçu en temps réel est l'une des fonctions couramment utilisées dans les fonctions de vidéosurveillance. Nous pouvons prévisualiser en temps réel en spécifiant le numéro de chaîne et la fenêtre de prévisualisation. Le code spécifique est le suivant :

HCNetSDK.NET_DVR_PREVIEWINFO previewInfo = new HCNetSDK.NET_DVR_PREVIEWINFO();
previewInfo.lChannel = 1;//通道号
previewInfo.hPlayWnd = hWnd;//预览窗口句柄

HCNetSDK.PlayCtrl.INSTANCE.PlayM4_SetDecodeThreadNum(2);

IntByReference previewHandle = new IntByReference();

previewHandle.setValue(HCNetSDK.INSTANCE.NET_DVR_RealPlay_V40(loginHandle, previewInfo, null));
if (previewHandle.getValue() == -1) {
    int error = HCNetSDK.INSTANCE.NET_DVR_GetLastError();
    System.out.println("实时预览失败,错误码:" + error);
} else {
    System.out.println("实时预览成功,预览句柄:" + previewHandle.getValue());
}
  1. Arrêtez l'aperçu et déconnectez-vous de l'appareil

Lorsque l'aperçu n'est plus nécessaire, nous devons arrêter l'aperçu et nous déconnecter de l'appareil. Le code spécifique est le suivant :

HCNetSDK.INSTANCE.NET_DVR_StopRealPlay(previewHandle.getValue());
HCNetSDK.INSTANCE.NET_DVR_Logout_V30(loginHandle);
HCNetSDK.INSTANCE.NET_DVR_Cleanup();

IV. Implémentation de la fonction de reconnaissance faciale

  1. Initialisation du SDK

Semblable à la fonction de vidéosurveillance, nous devons d'abord initialiser le SDK. Le code spécifique est le suivant :

HikvisionLibrary.INSTANCE.NET_DVR_Init();
  1. Connectez-vous à l'appareil

La connexion à l'appareil est une étape clé pour la fonction de reconnaissance faciale. Nous pouvons nous connecter en utilisant le compte administrateur et obtenir le handle de connexion pour les opérations ultérieures. Le code spécifique est le suivant :

HikvisionLibrary.NET_DVR_USER_LOGIN_INFO loginInfo = new HikvisionLibrary.NET_DVR_USER_LOGIN_INFO();
loginInfo.sDeviceAddress = "192.168.1.100";
loginInfo.sUserName = "admin";
loginInfo.sPassword = "123456";
loginInfo.wPort = 8000;

HikvisionLibrary.NET_DVR_DEVICEINFO_V40 deviceInfo = new HikvisionLibrary.NET_DVR_DEVICEINFO_V40();
IntByReference errorCode = new IntByReference();

int loginHandle = HikvisionLibrary.INSTANCE.NET_DVR_Login_V40(loginInfo, deviceInfo);
if (loginHandle < 0) {
    int error = HikvisionLibrary.INSTANCE.NET_DVR_GetLastError();
    System.out.println("登录失败,错误码:" + error);
} else {
    System.out.println("登录成功,登录句柄:" + loginHandle);
}
  1. Détection de visage et comparaison de visage

Le cœur de la fonction de reconnaissance de visage est la détection de visage et la comparaison de visage. Nous pouvons effectuer une détection de visage en spécifiant le chemin de l'image et effectuer une comparaison de visage via l'algorithme de comparaison. Le code spécifique est le suivant :

HikvisionLibrary.NET_DVR_FACE_COND faceCond = new HikvisionLibrary.NET_DVR_FACE_COND();
faceCond.dwFaceNum = 1;

HikvisionLibrary.NET_DVR_FACE_RECORD[] faceRecord = (HikvisionLibrary.NET_DVR_FACE_RECORD[]) new HikvisionLibrary.NET_DVR_FACE_RECORD().toArray(1);
faceRecord[0].byCardNo = "001".getBytes();
faceRecord[0].byFacePicNum = 1;
faceRecord[0].struFacePicInfo[0].byFaceQuality = 50;
faceRecord[0].struFacePicInfo[0].wFacePicLen = facePicData.length;
System.arraycopy(facePicData, 0, faceRecord[0].struFacePicInfo[0].byFacePicBuffer, 0, facePicData.length);

HikvisionLibrary.NET_DVR_FACE_STATUS status = new HikvisionLibrary.NET_DVR_FACE_STATUS();

int handle = HikvisionLibrary.INSTANCE.NET_DVR_StartRemoteConfig(loginHandle, HikvisionLibrary.NET_DVR_SET_FACE_RECORD, faceCond.getPointer(), faceCond.size(), null, null);
if (handle == -1) {
    int error = HikvisionLibrary.INSTANCE.NET_DVR_GetLastError();
    System.out.println("开始远程配置失败,错误码:" + error);
    return;
}
IntByReference bytesReturned = new IntByReference();
HikvisionLibrary.INSTANCE.NET_DVR_SendRemoteConfig(handle, faceRecord, faceRecord[0].size(), bytesReturned);
HikvisionLibrary.INSTANCE.NET_DVR_StopRemoteConfig(handle);
int error = HikvisionLibrary.INSTANCE.NET_DVR_GetLastError();
if (error != 0) {
    System.out.println("人脸比对失败,错误码:" + error);
} else {
    System.out.println("人脸比对成功");
}

5. Résumé

Cet article présente les compétences nécessaires pour maîtriser le développement secondaire du SDK Java Hikvision et joint des exemples de code pour des fonctions telles que la vidéosurveillance et la reconnaissance faciale. Grâce à l'apprentissage et à la pratique, les développeurs peuvent utiliser de manière flexible le SDK Hikvision pour le développement secondaire afin de répondre aux besoins de différents projets. Bien sûr, il existe davantage de fonctions et d'interfaces qui attendent que les développeurs les explorent et les appliquent. J'espère que cet article sera utile à l'apprentissage et à la pratique du développement secondaire du SDK Java Hikvision.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn