ubuntu python调用海康工业相机
时间: 2025-06-18 11:20:57 浏览: 15
### Ubuntu下Python调用海康威视工业相机SDK的使用方法
要在Ubuntu系统上通过Python调用海康威视工业相机,可以按照以下方式实现:
#### 1. 安装依赖项
在开始之前,需确保安装必要的开发工具和库文件。可以通过包管理器 `apt` 来完成这些操作。
```bash
sudo apt update && sudo apt install build-essential swig python3-dev libssl-dev -y
```
上述命令会安装编译所需的工具链以及SWIG支持[^1]。
#### 2. 下载并配置Hikvision SDK
下载官方提供的C++版本SDK,并将其解压到指定目录(如 `/opt/HKIPCamera/sdk`)。此路径应包含头文件和动态链接库。
接着,在终端运行如下命令来生成Python绑定接口代码:
```bash
swig -I"/opt/HKIPCamera/sdk/include" -python -c++ /path/to/HKIPCamera.i
```
这里假设 `.i` 文件位于当前工作目录下的某个位置;实际路径可能有所不同,请替换为真实值。
#### 3. 编写Makefile或手动构建共享对象模块
为了使生成的 `_wrap.cxx` 能够被正确处理成可加载的.so文件,通常还需要编写简单的 Makefile 或者直接执行 g++ 命令行参数组合来进行编译连接过程。例如:
```makefile
CC=g++
CFLAGS=-fPIC $(shell python3-config --includes) -I/opt/HKIPCamera/sdk/include/
LDFLAGS=$(shell python3-config --ldflags) -L/opt/HKIPCamera/sdk/lib/ -lhkbaseapi -lhkcameradll
all: _HKIPCamera_wrap.o
$(CC) -shared $< -o _HKIPCamera.so $(LDFLAGS)
%.o : %.cxx
$(CC) -c $< -o $@ $(CFLAGS)
```
之后只需输入 `make` 即可得到最终产物 `_HKIPCamera.so`。
#### 4. 使用已有的第三方封装库(hikvision)
如果不想自己动手做繁琐的工作,则可以直接利用现成开源项目[hikvision](https://gitcode.com/gh_mirrors/hi/hikvision)[^2]作为替代方案之一。它已经完成了大部分基础功能抽象化设计,使得开发者能够更加专注于业务逻辑本身而非底层细节部分。
首先克隆仓库至本地环境:
```bash
git clone https://gitcode.com/gh_mirrors/hi/hikvision.git
cd hikvision
pip install .
```
随后参照文档说明快速启动测试程序验证效果即可。
---
### 示例代码片段展示如何初始化设备并与之交互
以下是基于hikvision库的一个简单例子演示怎样枚举网络中的摄像机列表并将捕获帧保存成本地图像文件形式存储下来。
```python
from hikvision import Camera, utils
def main():
cameras = list(Camera.discover())
if not cameras:
print("No available devices found.")
return
cam = cameras[0].connect()
try:
frame = cam.grab_frame(timeout=5)
filename = 'snapshot.jpg'
success = utils.save_image(frame, filename)
if success:
print(f'Saved snapshot to {filename}')
else:
raise RuntimeError('Failed saving image.')
finally:
cam.disconnect()
if __name__ == '__main__':
main()
```
---
阅读全文
相关推荐


















