python通过调用海康SDK打开工业相机(全流程)

安装海康SDK

从海康威视官网下载对应的工业相机SDK开发包,通常包含动态库(.dll或.so)和头文件。将SDK解压到本地目录,确保路径无中文或特殊字符。

运行以下命令安装Python绑定库(以hikvision为例):

pip install hikvision 

初始化SDK环境

调用NET_DVR_Init函数初始化SDK环境,设置回调函数和日志路径:

from hikvision import NetSdk NetSdk.NET_DVR_Init() NetSdk.NET_DVR_SetLogToFile(3, "./sdk_log/") # 日志级别3,保存到指定目录 

登录相机设备

使用NET_DVR_Login_V40函数通过IP地址、端口、用户名和密码登录相机:

device_info = NetSdk.NET_DVR_DEVICEINFO_V40() login_params = NetSdk.NET_DVR_USER_LOGIN_INFO() login_params.bUseTLS = 0 login_params.sDeviceAddress = "192.168.1.64".encode('utf-8') login_params.wPort = 8000 login_params.sUserName = "admin".encode('utf-8') login_params.sPassword = "password".encode('utf-8') user_id = NetSdk.NET_DVR_Login_V40(login_params, device_info) if user_id < 0: print("Login failed, error code:", NetSdk.NET_DVR_GetLastError()) 

启动实时预览

调用NET_DVR_RealPlay_V40配置预览参数并启动视频流:

preview_params = NetSdk.NET_DVR_PREVIEWINFO() preview_params.hPlayWnd = 0 # 窗口句柄,0表示不显示 preview_params.lChannel = 1 # 通道号 preview_params.dwStreamType = 0 # 主码流 preview_params.dwLinkMode = 0 # TCP模式 realplay_handle = NetSdk.NET_DVR_RealPlay_V40(user_id, preview_params) if realplay_handle < 0: print("Preview failed, error code:", NetSdk.NET_DVR_GetLastError()) 

设置回调函数接收数据

定义回调函数处理视频流数据,并通过NET_DVR_SetStandardDataCallBack注册:

def data_callback(lRealHandle, dwDataType, pBuffer, dwBufSize, pUser): if dwDataType == NetSdk.NET_DVR_STREAMDATA: print("Received data size:", dwBufSize) NetSdk.NET_DVR_SetStandardDataCallBack(realplay_handle, data_callback, None) 

释放资源

结束预览并注销登录,最后清理SDK环境:

NetSdk.NET_DVR_StopRealPlay(realplay_handle) NetSdk.NET_DVR_Logout(user_id) NetSdk.NET_DVR_Cleanup() 


 

异常处理

检查每一步的返回值,通过NET_DVR_GetLastError获取错误码:

error_code = NetSdk.NET_DVR_GetLastError() if error_code != 0: print("Error occurred, code:", error_code) 

注意事项

  • SDK版本需与相机固件匹配,跨版本可能导致兼容性问题
  • 工业相机通常需要配置特定的网络参数(如子网掩码、网关)
  • 实时预览的数据回调函数应避免耗时操作,建议使用队列异步处理

Read more

【LLM】大模型vibe coding(cursor、copilot、comate)

【LLM】大模型vibe coding(cursor、copilot、comate)

note 2025年,Karpathy分享了自己的Vibe Coding指南1.0: * 把所有相关内容塞进上下文里(在大型项目中可能需要很久。如果项目够小,就直接把所有文件都塞进去。 * 描述我们接下来要实现的那个具体的、增量式的小改动。不要直接要代码,而是要几种高层次的思路,并分析它们的优缺点。几乎总是会有多种做法,而大语言模型的判断并不总是可靠。然后(可选)再具体化。 * 选择一种思路,请它写出第一版代码。 * 进入复查/学习阶段:手动在浏览器里打开我不熟悉或没调用过的API文档,向模型提问解释、澄清、修改,必要时回退并尝试另一种思路。 * 测试。 * Git commit。 * 询问可以接下来实现什么。然后重复这个循环。 文章目录 * note * 一、相关vibe coding工具 * 1、cursor * 2、copilot * 3、comate * 二、vibe coding综述 * 1、code agent

By Ne0inhk
【保姆级教程】llama.cpp大模型部署全攻略:CPU/GPU全兼容,小白也能轻松上手!

【保姆级教程】llama.cpp大模型部署全攻略:CPU/GPU全兼容,小白也能轻松上手!

一、简介 * • llama.cpp 是一个在 C/C++ 中实现大型语言模型(LLM)推理的工具 * • 支持跨平台部署,也支持使用 Docker 快速启动 * • 可以运行多种量化模型,对电脑要求不高,CPU/GPU设备均可流畅运行 * • 开源地址参考:https://github.com/ggml-org/llama.cpp • 核心工作流程参考: 二、安装与下载模型(Docker方式) 1. 搜索可用模型 • 这里以 qwen3-vl 模型为例,提供了多种量化版本,每种版本的大小不一样,根据自己的电脑性能做选择,如选择(模型+量化标签):Qwen/Qwen3-VL-8B-Instruct-GGUF:Q8_0 • 可以在huggingface官网中搜索可用的量化模型:https://huggingface.co/models?search=

By Ne0inhk

终极对决!文心一言 vs 通义千问 vs Kimi vs 豆包,四大国产巨头正面硬刚,技术、性能、生态全方位拆解!

写在前面 上周我们对比了一下目前最流行的AI工具,不过三款工具都是国外的,对于国内用户来说,有些需要一些魔法才能访问,终究是有些不便。最近身边越来越多人问我:国产AI到底选哪个?文心一言、通义千问、Kimi、豆包……看着都差不多,但用起来又各有千秋。 说实话,我自己也是这四款都在用。文心一言帮我写文案,Kimi帮我整理资料,豆包拿来写代码等。 有个挺有意思的消息:苹果在中国选了通义千问和文心一言做合作伙伴,要把它们整合进 Siri。虽然不知道能整合成啥样,但至少说明国产AI这两年确实长进不少。 这篇文章我会从实际使用感受出发,聊聊这四款工具到底怎么样、适合什么场景,顺便吐槽一下各自的坑。毕竟用AI嘛,最重要的是找到适合自己的那一款。 一、四大主流AI大模型概览 文心一言 4.0(百度) 先说文心一言,这是我用得最早的国产AI。最大的感受就是文笔确实好,写出来的东西有点"文绉绉"的味道,特别适合写公众号文章、营销文案这类需要点文采的内容。 百度把自家搜索引擎接进去了,所以查实时信息还挺方便。支持128K的上下文,

By Ne0inhk
Copilot、Codeium 软件开发领域的代表性工具背后的技术

Copilot、Codeium 软件开发领域的代表性工具背后的技术

早期, Claude、Copilot、Codeium新兴的AI代码助手,模型的温度、切片的效果、检索方式、提示词的约束、AI 回复的约束、最终数据处理;整个环节,任何一个地方都可能造成最终效果不理想。 旨在通过代码生成、代码补全、代码解释和调试等多种功能,帮助开发者减少重复劳动,提高开发效率。尽管Codeium已经取得了显著的成果,但在处理复杂的代码任务、跨文件的修改以及支持定制化库和框架方面仍面临一定的局限性。 2020 年,OpenAI发布的GPT-3模型使AI生成代码的能力得以广泛应用,标志着AI代码助手的转型。2021年,GitHub 推出基于OpenAI Codex的 Copilot,提供实时代码补全和生成能力,提升开发效率,支持跨文件复杂任务。 其痛点,在大规模代码生成、跨文件任务处理以及定制化框架支持方面的局限性仍然限制了其在复杂项目中的应用。 2023年,Claude 3.5等新一代大型语言模型陆续出世,有效提升了自然语言理解与代码生成的能力。这类模型集成了代码生成、调试和文档自动生成等多项功能,能够帮助开发者快速编写高质量代码、优化程序性能并自动修复错误。随着

By Ne0inhk