自己在做海康威视SDK的二次开发,解码回调的问题

我想将海康威视摄像头的视频流用虹软SDK做人脸识别,现在解码回调已经有了IplImage*格式的图片,可以被opencv处理,但我想调用原来类中的函数,使用虹软SDK来进行人脸识别,外部函数如何调用类中的函数?我用的MFC,我想将人脸识别的结果直接在我MFC做的窗口中显示出来,该怎么做?跪求大神解答!

c++

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python+OpenCV计算机视觉

Python+OpenCV计算机视觉

java海康SDK 二次开发

海康java SDK中接口获取动态IPNET_DVR_GetDVRIPByResolveSvr_EX参数中有个输出(out)参数sGetIP 但是这个参数是String类型,我调用此接口时返回TRUE说明调用正常,但是输出参数sGetIP 无法回写,官方文档中定义此参数是获取到的设备IP地址指针,我想问下这个该如何填写才可以返回?官方跟我说没有java示例 但是绝对是可以返回的,这里应该存在这值传递,java应该是不行的。求个大佬帮忙解一下

海康威视java二次开发

1.在海康威视java二次开发中遇到这样一个问题:修改压缩通道的参数时,总提示失败,返回错误代码是17,经查阅文档,得知17对应的错误是“参数错误。SDK接口中给入的输入或输出参数为空,或者参数格式或值不符合要求。”。 2.代码如下: ``` public void setCompressPara(String type,String chanelName ) { int channelNum = getChannelNum(chanelName); //通道压缩参数 HCNetSDK.NET_DVR_COMPRESSIONCFG_V30 compressionCfg = new HCNetSDK.NET_DVR_COMPRESSIONCFG_V30(); HCNetSDK.NET_DVR_COMPRESSION_INFO_V30 v30_comCfg = null; if(Const.MASTER_STREAM==Integer.valueOf(type)) {//主码流 v30_comCfg = compressionCfg.struNormHighRecordPara; }else if(Const.SUB_STREAM==Integer.valueOf(type)) {//子码流 v30_comCfg = compressionCfg.struNetPara; } v30_comCfg.dwVideoBitrate=23;//码率2048 compressionCfg.write(); boolean bRet = hCNetSDK.NET_DVR_SetDVRConfig(lUserID, HCNetSDK.NET_DVR_SET_COMPRESSCFG_V30, new NativeLong(channelNum),compressionCfg.getPointer(),compressionCfg.size()); compressionCfg.read(); if(!bRet) { System.out.println("设置压缩参数失败:"+hCNetSDK.NET_DVR_GetErrorMsg(new NativeLongByReference(new NativeLong(hCNetSDK.NET_DVR_GetLastError()) ))); log.error("设置压缩参数失败:"+hCNetSDK.NET_DVR_GetLastError()); }else { System.out.println("设置成功" ); log.info("设置成功" ); } } ``` ![图片说明](https://img-ask.csdn.net/upload/201910/22/1571732708_414408.png) 设置压缩参数失败:Parameter error. Input or output parameter in the SDK API is NULL. 2019-10-22 16:23:53.693 [http-nio-8080-exec-3] ERROR ClientDemo.HCDemo - 设置压缩参数失败:17 有哪位大佬,帮看看,是哪个参数有问题呢?谢谢

海康SDK二次开发中多路视频显示,软解码CPU使用居高不下,硬解码卡顿严重,有谁解决了么?

海康SDK二次开发中多路视频显示,软解码CPU使用居高不下,硬解码卡顿严重,有谁解决了么?

关于Java调用海康威视SDK的问题

在使用Java调用海康威视SDK时,提示”Error looking up function 'NET_DVR_Login_V30': 找不到指定的程序“ 错误。一直无法找到原因,请高手指点。 我开发用的JAVA环境为1.7.0_79,开发工具为NetBeans8.1,海康威视SDK版本为CH-HCNetSDK(Windows32)V5.1.3.5_build20150701。 如能提供帮助,必有重谢。 以下为提示的错误信息: m_sDeviceIP[192.168.1.163] iPort[8000] jTextFieldUserName.getText()[admin] new String(jPasswordFieldPassword.getPassword())[12345] m_strDeviceInfo[HCNetSDK$NET_DVR_DEVICEINFO_V30(auto-allocated@0x41feae0 (80 byt es)) { byte sSerialNumber[48]@0=[B@1b51db7 byte byAlarmInPortNum@30=0 byte byAlarmOutPortNum@31=0 byte byDiskNum@32=0 byte byDVRType@33=0 byte byChanNum@34=0 byte byStartChan@35=0 byte byAudioChanNum@36=0 byte byIPChanNum@37=0 byte byRes1[24]@38=[B@111014a }] Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: Error looking up function 'NET_DVR_Login_V30': 找不到指定的程序。 at com.sun.jna.Function.<init>(Function.java:212) at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:541) at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:518) at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:504) at com.sun.jna.Library$Handler.invoke(Library.java:220) at com.sun.proxy.$Proxy0.NET_DVR_Login_V30(Unknown Source) at ClientDemo.ClientDemo.jButtonLoginActionPerformed(ClientDemo.java:553 ) at ClientDemo.ClientDemo.access$100(ClientDemo.java:45)

海康威视视频监控NVR接入网页、手机端二次开发

各位亲,求海康威视视频监控网络硬盘录像机NVR设备接入网页、手机端如何进行二次开发,实现视频实时显示功能(控制、配置功能不需要)。 或者进行合作开发。

Android海康威视SDK的使用·

海康威视SDK获取通道号的方法在哪里?这是说这些通道号是从哪个方法获取的。

ios 开发海康威视ios sdk

请问哪里有海康威视ios sdk,或者说我有端口和IP,怎么连接远程摄像头? 先谢谢了!

java海康SDK二次开发,可以直接获取局域网的摄像头吗?

请问各位大佬,java海康SDK二次开发可以直接获取到局域网内在线的摄像头信息吗 ??? 如果可以那么这样获取了????

QT下怎么加载海康威视的SDK开发库

我用的是QT5.7 minGW 但是我的QT就是加载不了海康的SDK开发库, 我试了网上的很多方法都没有成功,麻烦有知道的告知一下,谢谢

关于海康威视的 iOS APP 二次开发

先说需求,我这边要用海康威视的摄像头实时监控仓库,但是不想用海康自己的 APP,要自己开发一款 APP 来进行实时监控。有没有这方面的 demo 或着是具体想法的。

C#海康威视网络硬盘录像机开发 做监控页面

菜鸡第一次做二次开次,按照官方手册的逻辑,在视频预览传入的参数是调用登录函数返回的userID,登录的函数用的是录像机的ip+端口,那此刻能预览的就是一路画面吗,如果是多个摄像头一台录像机,如何取到连接到硬盘录像机的所有摄像头列表,并预览,SDK 中没有获取摄像头列表的函数,求大神赐教

海康威视SDK向串口发命令,求大神!!!!

我做激光夜视仪软件方面的开发,建立了动态链接库,在头文件中已经写好了接口函数,要求在cpp文件中就行具体代码的编写,那么该如何完善我的cpp文件呢?如何向串口发命令?求大神!!!!!!

海康威视的二次开发,程序注册哪里

NET_DVR_DVROPRATEFAILED 29 设备操作失败。 我运行程序显示海康的摄像头,用的VS2015+opencv,运行就出现这个错误代码?怎么办?

vs2013的win32控制台程序+海康威视sdk,一直出现error LNK2019的问题

``` #include <stdio.h> #include <iostream> #include "Windows.h" #include "HCNetSDK.h" #include "plaympeg4.h" #include <time.h> using namespace std; typedef HWND(WINAPI *PROCGETCONSOLEWINDOW)(); PROCGETCONSOLEWINDOW ConsoleWindow; LONG lPort; //全局的播放库 port 号 void CALLBACK g_RealDataCallBack_V30(LONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, void* dwUser) { HWND hWnd = ConsoleWindow(); switch (dwDataType) { case NET_DVR_SYSHEAD: //系统头 if (!PlayM4_GetPort(&lPort)) //获取播放库未使用的通道号 { break; } //m_iPort = lPort; //第一次回调的是系统头,将获取的播放库 port 号赋值给全局 port,下次回调数据时即使用此 port 号播放 if (dwBufSize > 0) { if (!PlayM4_SetStreamOpenMode(lPort, STREAME_REALTIME)) //设置实时流播放模式 { break; } if (!PlayM4_OpenStream(lPort, pBuffer, dwBufSize, 1024 * 1024)) //打开流接口 { break; } if (!PlayM4_Play(lPort, hWnd)) //播放开始 { break; } } break; case NET_DVR_STREAMDATA: //码流数据 if (dwBufSize > 0 && lPort != -1) { if (!PlayM4_InputData(lPort, pBuffer, dwBufSize)) { break; } } break; default: //其他数据 if (dwBufSize > 0 && lPort != -1) { if (!PlayM4_InputData(lPort, pBuffer, dwBufSize)) { break; } } break; } } void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG lUserID, LONG lHandle, void *pUser) { char tempbuf[256] = { 0 }; switch (dwType) { case EXCEPTION_RECONNECT: //预览时重连 printf("----------reconnect--------%d\n", time(NULL)); break; default: break; } } void main() { //--------------------------------------- // 初始化 NET_DVR_Init(); //设置连接时间与重连时间 NET_DVR_SetConnectTime(2000, 1); NET_DVR_SetReconnect(10000, true); //--------------------------------------- // 获取控制台窗口句柄 HWND hWnd = ::FindWindow("ConsoleWindowClass",NULL); //--------------------------------------- // 注册设备 LONG lUserID; NET_DVR_DEVICEINFO_V30 struDeviceInfo; lUserID = NET_DVR_Login_V30("172.0.0.100", 8000, "admin", "12345", &struDeviceInfo); if (lUserID < 0) { printf("Login error, %d\n", NET_DVR_GetLastError()); NET_DVR_Cleanup(); return; } //--------------------------------------- //设置异常消息回调函数 NET_DVR_SetExceptionCallBack_V30(0, NULL, g_ExceptionCallBack, NULL); //--------------------------------------- //启动预览并设置回调数据流 LONG lRealPlayHandle; NET_DVR_PREVIEWINFO struPlayInfo = { 0 }; struPlayInfo.hPlayWnd = hWnd; //需要 SDK 解码时句柄设为有效值,仅取流不解码时可设为空 struPlayInfo.lChannel = 1; //预览通道号 struPlayInfo.dwStreamType = 0; //0-主码流,1-子码流,2-码流 3,3-码流 4,以此类推 struPlayInfo.dwLinkMode = 0; //0- TCP 方式,1- UDP 方式,2- 多播方式,3- RTP 方式,4-RTP/RTSP,5-RSTP/HTTP struPlayInfo.bBlocked = 1; //0- 非阻塞取流,1- 阻塞取流 lRealPlayHandle = NET_DVR_RealPlay_V40(lUserID, &struPlayInfo, g_RealDataCallBack_V30, NULL); if (lRealPlayHandle < 0) { printf("NET_DVR_RealPlay_V40 error\n"); NET_DVR_Logout(lUserID); NET_DVR_Cleanup(); return; } Sleep(10000); //--------------------------------------- //关闭预览 NET_DVR_StopRealPlay(lRealPlayHandle); //注销用户 NET_DVR_Logout(lUserID); NET_DVR_Cleanup(); return; } ``` 错误列表为: 错误 14 error LNK2019: 无法解析的外部符号 __imp__PlayM4_SetStreamOpenMode@8,该符号在函数 "void __stdcall g_RealDataCallBack_V30(long,unsigned long,unsigned char *,unsigned long,void *)" (?g_RealDataCallBack_V30@@YGXJKPAEKPAX@Z) 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 11 error LNK2019: 无法解析的外部符号 __imp__PlayM4_Play@8,该符号在函数 "void __stdcall g_RealDataCallBack_V30(long,unsigned long,unsigned char *,unsigned long,void *)" (?g_RealDataCallBack_V30@@YGXJKPAEKPAX@Z) 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 12 error LNK2019: 无法解析的外部符号 __imp__PlayM4_OpenStream@16,该符号在函数 "void __stdcall g_RealDataCallBack_V30(long,unsigned long,unsigned char *,unsigned long,void *)" (?g_RealDataCallBack_V30@@YGXJKPAEKPAX@Z) 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 13 error LNK2019: 无法解析的外部符号 __imp__PlayM4_InputData@12,该符号在函数 "void __stdcall g_RealDataCallBack_V30(long,unsigned long,unsigned char *,unsigned long,void *)" (?g_RealDataCallBack_V30@@YGXJKPAEKPAX@Z) 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 15 error LNK2019: 无法解析的外部符号 __imp__PlayM4_GetPort@4,该符号在函数 "void __stdcall g_RealDataCallBack_V30(long,unsigned long,unsigned char *,unsigned long,void *)" (?g_RealDataCallBack_V30@@YGXJKPAEKPAX@Z) 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 9 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_StopRealPlay@4,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 5 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_SetReconnect@8,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 3 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_SetExceptionCallBack_V30@16,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 4 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_SetConnectTime@8,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 10 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_RealPlay_V40@16,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 7 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_Logout@4,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 6 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_Login_V30@20,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 1 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_Init@0,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 8 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_GetLastError@0,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 2 error LNK2019: 无法解析的外部符号 __imp__NET_DVR_Cleanup@0,该符号在函数 _main 中被引用 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\catch_video9\源.obj catch_video9 错误 16 error LNK1120: 15 个无法解析的外部命令 C:\Users\Lenovo\documents\visual studio 2013\Projects\catch_video9\Debug\catch_video9.exe catch_video9 其中catch_video9是程序名称…… 求大神指点……在下萌新一枚,很多编程上的知识还有待提高,希望大家可以帮我指出我的错误…… 在此谢谢大家!

java 海康SDK二次开发有没有获取所有摄像头ip的函数

有个需要自己改java 海康SDK二次开发 ,做一个平台 , 本人不会C , 我在海康的开发api里面没有看到有获取所有在线摄像头ip的函数 只找到了一个类型的如下: **函数 获取所有 IP,用于支持多网卡接口 NET_DVR_GetLocalIP** 函 数: BOOL NET_DVR_GetLocalIP(char strIP[16][16], DWORD *pValidNum, BOOL *pEnableBind) 参 数: [out] strIP 存放 IP 的缓冲区,不能为空 [out] pValidNum 所有有效 IP 的数量 [out] pEnableBind 是否绑定 所有有效 IP 的数量 是否绑定 返回值: TRUE 表示成功,FALSE 表示失败。接口返回失败请调用 NET_DVR_GetLastError 获取错误码,通 过错误码判断出错原因。 说 明: 该接口获取客户端本地多网卡的所有 IP 地址,可以通过接口 NET_DVR_SetValidIP 选择要使用的 IP 地址 但是我在官方给的开发包里,没有发现这个函数 , 有没有大佬可以指教一下

求助:用海康威视demo录制的视频,视频时长错误!!!

求助:用海康威视demo录制的视频,如果录制的时间过长,用海康威视的播放器或其他播放器,显示的视频时长会出错,请问怎么解决?

window系统下,通过qt对海康摄像头二次开发,怎么配置环境变量?

我配置了环境变量,如下图:![图片说明](https://img-ask.csdn.net/upload/201604/06/1459914222_804585.png) 但是我#include "HCNetSDK.h"后,qt会自动崩溃,还是我环境变量没设置好?

海康威视ocx控件开发,实时视频无法预览

控件测试时能够登录,但是实时预览失败,报错误代码107。几天没找到原因,该引用的SDK文件都已近引用了。 一下为实时预览代码 HWND _Hwnd=AfxGetMainWnd()->m_hWnd; NET_DVR_CLIENTINFO ClientInfo={0}; ClientInfo.hPlayWnd =_Hwnd; ClientInfo.lChannel = 33; ClientInfo.lLinkMode = 0; ClientInfo.sMultiCastIP = NULL; m_hRealPlay=NET_DVR_RealPlay_V30(0,&ClientInfo,NULL,NULL,TRUE); if (m_hRealPlay==-1) { DWORD err=NET_DVR_GetLastError(); CString m_csErr; m_csErr.Format(_T("播放出错,错误代码%d"),err); MessageBox(m_csErr); return false; } else { return true; }

海康sdk javademo实现在eclipse上

请问各位大佬们,报这个错误该怎么解决啊??![图片说明](https://img-ask.csdn.net/upload/201708/02/1501645025_356249.png)

2019 Python开发者日-培训

2019 Python开发者日-培训

150讲轻松搞定Python网络爬虫

150讲轻松搞定Python网络爬虫

设计模式(JAVA语言实现)--20种设计模式附带源码

设计模式(JAVA语言实现)--20种设计模式附带源码

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

java后台+微信小程序 实现完整的点餐系统

java后台+微信小程序 实现完整的点餐系统

三个项目玩转深度学习(附1G源码)

三个项目玩转深度学习(附1G源码)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

初级玩转Linux+Ubuntu(嵌入式开发基础课程)

2019 AI开发者大会

2019 AI开发者大会

玩转Linux:常用命令实例指南

玩转Linux:常用命令实例指南

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Git 实用技巧

Git 实用技巧

Python数据清洗实战入门

Python数据清洗实战入门

使用TensorFlow+keras快速构建图像分类模型

使用TensorFlow+keras快速构建图像分类模型

实用主义学Python(小白也容易上手的Python实用案例)

实用主义学Python(小白也容易上手的Python实用案例)

程序员的算法通关课:知己知彼(第一季)

程序员的算法通关课:知己知彼(第一季)

MySQL数据库从入门到实战应用

MySQL数据库从入门到实战应用

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

.net core快速开发框架

.net core快速开发框架

玩转Python-Python3基础入门

玩转Python-Python3基础入门

Python数据挖掘简易入门

Python数据挖掘简易入门

微信公众平台开发入门

微信公众平台开发入门

程序员的兼职技能课

程序员的兼职技能课

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

HoloLens2开发入门教程

HoloLens2开发入门教程

微信小程序开发实战

微信小程序开发实战

Java8零基础入门视频教程

Java8零基础入门视频教程

相关热词 c# cad插入影像 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园
立即提问