关于python调用海康威视SDK

项目场景:

Win10系统,64位,Anaconda3
python 3.8(基于anaconda环境)
opencv 3.4.1
Visual Studio 2015
硬件:DS-2CD3T86FWDV2-I5S
相机SDK:CH-HCNetSDKV6.1.6.45_build20210302_win64(先将头文件和库文件改为include和lib)

至于环境什么的有两位博主写的很好,大家可以借鉴。我主要查漏补缺,讲一下我遇到的问题。

https://blog.csdn.net/yinweizhehd/article/details/118722052?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162832140816780255261960%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162832140816780255261960&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2 all first_rank_v2~rank_v29-18-118722052.first_rank_v2_pc_rank_v29&utm_term=python%E8%B0%83%E7%94%A8%E6%B5%B7%E5%BA%B7SDK&spm=1018.2226.3001.4187

https://blog.csdn.net/c20081052/article/details/95082377?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2 all first_rank_v2~rank_v25-11-95082377.nonecase&utm_term=python%E8%AF%BB%E5%8F%96%E6%B5%B7%E5%BA%B7%E5%A8%81%E8%A7%86%E6%91%84%E5%83%8F%E5%A4%B4

HKIPcamera.cpp中出现的问题
比如少}之类的,统一解决。

解决方案:

在79行添加}
将 “码流回调成功!“改为"码流回调成功!.”
将L"PlayM4_InputData failed \n"前面的L删除
或者直接注释这句话//OutputDebugString(L"PlayM4_InputData failed \n”);

能够生成.dll和.lib文件,但是test.py的时候一直报错
import HKIPcamera
import _HKIPcamera
ImportError: DLL load failed: 找不到指定的模块。

解决方案:

这个问题有很多原因,采用下面的方式一一解决:
方式一:https://blog.csdn.net/GottaYiWanLiu/article/details/106187962
采用这位博主的方式

方式二:将CH-HCNetSDKV6.1.6.45_build20210302_win64\lib下的18个dll文件还有下载的opencv3.4.x下所有的dll文件全部拷贝到test.py同目录下。

方式三:一般采用上面的两个方式都能解决问题,如果还是没解决,基本可以确定你在vs2015\2017中使用的anaconda环境和你最后跑test的环境不一样,在vs中用的什么环境,还用环境下的python跑!!!!

关于python调用海康威视SDK项目场景:Win10系统,64位,Anaconda3python 3.6(基于anaconda环境)opencv 3.4.1Visual Studio 2015硬件:DS-2CD3T86FWDV2-I5S相机SDK:CH-HCNetSDKV6.1.6.45_build20210302_win64至于环境什么的有两位博主写的很好,大家可以借鉴。我主要查漏补缺,讲一下我遇到的问题。https://blog.csdn.net/yinweizhehd/articl unsigned int CALLBACK thread(LPVOID lpVoid) { auto dlg = (CmfcDlg*)lpVoid; auto pic = dlg->GetDlgItem(IDC_STATIC); PlayFile(pic->GetSafeHwnd()); return 1; _beginthreadex(NULL, 0, thread, (LPVOID)thi
关于 海康 设备摄像头预览时候回调里pPreviewCBMsg.pRecvdata能得到连续不断的码流数据,想自己开发个页面进行实时监控,跟历史回放。要怎么做 public class FPREVIEW_DATA_CB implements HCEHomeStream.PREVIEW_DATA_CB //实时流回调函数 public void invok...
当你认真的写完客户端和服务器端的时候可能不需要再继续往下看关于播放器的代码和说明,因为你已经掌握了如何转换VC++代码的技巧了,加上GOOGLE再来完成这个播放器应该算小菜了。但是作为我的系列,我还是有必要认真的将这部分写完才算完整,和前面一样,先贴封装好的API。      本系列文章限于学习交流,注重过程,由于涉及公司,所以不提供源代码下载,非常抱歉!!但是请...
在上一篇方案《EasyRTMP结合 海康 HCNet SDK 获取 海康 摄像机H.264实时流并转化成为RTMP直播推流(附源码)》我们介绍了将 海康 安防摄像机进行互联网直播的整体方案流程,其中有一个流程“数据处理与分析”我们当时没有展开详述,今天我们将 海康 HCNet SDK 实时预览回调接口数据处理的过程,尤其是在RealDataCallback中对AVData的处理过程: case NET_DVR_STR...
写在前面: 对于 海康 的技术支持我不想多做评价,电话打不通邮件不回,一些找寻解决方案的灵感多来自于 海康 的论坛和官网给的demo程序。 不过 问题 解决后感觉 靠自己,不放弃 是多么重要。 声明:此处的解决方法是结合 海康 论坛将官网demo里的有效代码搬移过来,于茫茫代码中找到自己所需也是挺烦燥的一件事,仅仅为别人节省一点时间也是好的,废话不多说啦~ 得到摄像头数据流思路: 通过两个回调函
这里写自定义目录标题本文参考以下博文加自己的实践,发现有些步骤是不必要的,例如不需要为opencv等第三方库指定路径运行环境:准备工作1、 海康 SDK 下载2、下载安装vcpkg3、安装Swig4、下载OpenCV-swig接口文件 本文参考以下博文加自己的实践,发现有些步骤是不必要的,例如不需要为opencv等第三方库指定路径 https://blog.csdn.net/c20081052/article/details/95082377 https://www.ryannn.com/archives/hi
Python 语言具有广泛的应用范围,其中涉及到 海康 SDK 实时预览opencv也是很常见的一种应用方式。 Python 调用 海康 SDK 实时预览opencv有以下步骤: 1. 安装 海康 SDK 首先需要在官网下载并安装 海康 SDK ,并在安装后把 SDK 自带的头文件和库文件放到自己的项目目录下。 2. 安装OpenCV 需要在本地安装好OpenCV,并确保可以在 python 调用 OpenCV。 3. 编写 Python 程序 在 python 中编写程序,首先需要导入 海康 SDK 的相关库,如 海康 SDK 的头文件和库文件。以 Python 2为例,代码如下: import os import sys import datetime import time import cv2 from HCNet SDK import * 4. 初始化 海康 SDK Python 程序中通过NET_DVR_Init()函数初始化 海康 SDK ,这个函数需要在使用 海康 SDK 的任何其他函数之前 调用 。 5. 登录设备 登录设备可以通过NET_DVR_Login_V30()函数实现,其中需要传入设备IP地址、端口号、用户名和密码等参数。 6. 获取实时预览 通过NET_DVR_RealPlay_V30()函数获取实时预览图像。该函数需要传入设备登录ID、预览窗口句柄等参数,可以使用OpenCV在窗口中显示图像。 7. 停止预览和退出登录 在程序结束时需要通过NET_DVR_StopRealPlay()和NET_DVR_Logout()函数停止预览和退出登录。 以上就是 Python 调用 海康 SDK 实时预览opencv的基本流程。在实际应用中,可以根据需要进行调整和完善。