Heim  >  Artikel  >  Java  >  Beherrschen Sie die wesentlichen Fähigkeiten für die Sekundärentwicklung des Java Hikvision SDK

Beherrschen Sie die wesentlichen Fähigkeiten für die Sekundärentwicklung des Java Hikvision SDK

WBOY
WBOYOriginal
2023-09-06 08:10:441123Durchsuche

Beherrschen Sie die wesentlichen Fähigkeiten für die Sekundärentwicklung des Java Hikvision SDK

Beherrschen Sie die wesentlichen Fähigkeiten für die Sekundärentwicklung des Java Hikvision SDK

Einführung:
Mit der rasanten Entwicklung der Informationstechnologie werden Videoüberwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Als führender inländischer Anbieter von Videoüberwachungslösungen nehmen die Produkte und Technologien von Hikvision seit jeher eine wichtige Position auf dem Markt ein. Um den Anforderungen verschiedener Projekte gerecht zu werden, stellt Hikvision Entwicklern ein SDK zur Durchführung sekundärer Entwicklungen zur Verfügung. In diesem Artikel werden einige wesentliche Fähigkeiten zur Beherrschung der Sekundärentwicklung des Java Hikvision SDK vorgestellt und entsprechende Codebeispiele beigefügt.

1. Verstehen Sie die Funktionen und Schnittstellen des Hikvision SDK

Bevor Sie die Sekundärentwicklung des Java Hikvision SDK durchführen, müssen Sie zunächst die Funktionen und Schnittstellen des Hikvision SDK verstehen. Hikvision bietet eine umfangreiche SDK-Schnittstelle, die Funktionen wie Videoüberwachung, Gesichtserkennung und intelligente Analyse abdeckt. Entwickler können je nach Bedarf die entsprechende Schnittstelle für die Entwicklung auswählen. Nachdem wir die Grundfunktionen des SDK beherrschen, können wir mit der Praxis der Sekundärentwicklung beginnen.

2. Konfigurieren Sie die Entwicklungsumgebung und importieren Sie das SDK-Paket.

Bevor wir die sekundäre Entwicklung des Java Hikvision SDK durchführen, müssen wir die Entwicklungsumgebung konfigurieren und das SDK-Paket importieren. Laden Sie zunächst das Java-Entwicklungspaket des Hikvision SDK herunter und importieren Sie es in das Entwicklungstool. Als nächstes müssen wir die relevanten abhängigen Bibliotheken und die Betriebsumgebung konfigurieren. Spezifische Konfigurationsschritte finden Sie in der offiziellen Dokumentation von Hikvision.

3. Implementierung der Videoüberwachungsfunktion

  1. SDK initialisieren

Bevor wir die sekundäre Entwicklung der Videoüberwachungsfunktion durchführen, müssen wir zuerst das SDK initialisieren. Der spezifische Code lautet wie folgt:

HCNetSDK.INSTANCE.NET_DVR_Init();
  1. Melden Sie sich beim Gerät an

Das Anmelden beim Gerät ist ein wichtiger Schritt für die Videoüberwachungsfunktion. Wir können uns mit dem Administratorkonto anmelden und das Anmeldekennzeichen für nachfolgende Vorgänge erhalten. Der spezifische Code lautet wie folgt:

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. Echtzeitvorschau

Die Echtzeitvorschau ist eine der am häufigsten verwendeten Funktionen in Videoüberwachungsfunktionen. Wir können eine Vorschau in Echtzeit anzeigen, indem wir die Kanalnummer und das Vorschaufenster angeben. Der spezifische Code lautet wie folgt:

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. Vorschau stoppen und vom Gerät abmelden

Wenn die Vorschau nicht mehr benötigt wird, müssen wir die Vorschau stoppen und uns vom Gerät abmelden. Der spezifische Code lautet wie folgt:

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

IV. Implementierung der Gesichtserkennungsfunktion

  1. SDK initialisieren

Ähnlich wie bei der Videoüberwachungsfunktion müssen wir zuerst das SDK initialisieren. Der spezifische Code lautet wie folgt:

HikvisionLibrary.INSTANCE.NET_DVR_Init();
  1. Melden Sie sich beim Gerät an

Das Anmelden beim Gerät ist ein wichtiger Schritt für die Gesichtserkennungsfunktion. Wir können uns mit dem Administratorkonto anmelden und das Anmeldekennzeichen für nachfolgende Vorgänge erhalten. Der spezifische Code lautet wie folgt:

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. Gesichtserkennung und Gesichtsvergleich

Der Kern der Gesichtserkennungsfunktion ist die Gesichtserkennung und der Gesichtsvergleich. Wir können eine Gesichtserkennung durchführen, indem wir den Bildpfad angeben und einen Gesichtsvergleich über den Vergleichsalgorithmus durchführen. Der spezifische Code lautet wie folgt:

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. Zusammenfassung

In diesem Artikel werden die erforderlichen Fähigkeiten zur Beherrschung der Sekundärentwicklung des Java Hikvision SDK vorgestellt und Codebeispiele für Funktionen wie Videoüberwachung und Gesichtserkennung angehängt. Durch Lernen und Übung können Entwickler das Hikvision SDK flexibel für die Sekundärentwicklung nutzen, um den Anforderungen verschiedener Projekte gerecht zu werden. Natürlich warten noch weitere Funktionen und Schnittstellen darauf, von Entwicklern erkundet und angewendet zu werden. Ich hoffe, dass dieser Artikel beim Erlernen und Üben der Sekundärentwicklung des Java Hikvision SDK hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonBeherrschen Sie die wesentlichen Fähigkeiten für die Sekundärentwicklung des Java Hikvision SDK. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn