海康威视AnalyzeDatasdk的python调用方法

前言

sdk是通过海康开放平台下载下来的,但是这个只提供了C的库,测试下用python调用的方法

实践

获取sdk的版本号

获取版本号是最基本的调用方法,可以验证下python最小运行环境
使用的sdk版本

AnalyzeData_4.3.2.9_CentOs_release_5.4_64bit_base_20180710.zip

文件存放目录结构

1
2
3
4
5
6
7
8
[root@lab101 AnalyzeData_4.3.2.9_CentOs_release_5.4_64bit_base_20180710]# tree
.
├── hikanalyze.py
├── include
│   ├── AnalyzeDataDefine.h
│   └── AnalyzeDataNewInterface.h
└── libs
└── libanalyzedata.so

代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@lab101 AnalyzeData_4.3.2.9_CentOs_release_5.4_64bit_base_20180710]# cat hikanalyze.py
#! /usr/bin/python
# -*- coding:utf-8 -*-

from ctypes import *
dynamicLibString = './libs/libanalyzedata.so'
mylib = cdll.LoadLibrary(dynamicLibString)

version=mylib.HIKANA_GetVersion()
baseline=(version & 0xc0000000)>>30
year=(version & 0x3e000000) >>25
month=(version & 0x01e00000) >>21
day=(version & 0x1f0000) >>16
major=(version & 0xf000 ) >>12
minor=(version & 0xf00) >>8
modify=(version & 0xf0) >>4
test=(version & 0xf)
print "sdk发布日期:",str(year+2000)+"-"+str(month)+"-"+str(day)
print "sdk发布版本:",str(major)+"."+str(minor)+"."+str(modify)+"."+str(test)

运行效果

1
2
3
[root@lab101 AnalyzeData_4.3.2.9_CentOs_release_5.4_64bit_base_20180710]# python hikanalyze.py
sdk发布日期: 2018-7-9
sdk发布版本: 4.3.2.9

可以看到最小的运行环境运行成功了,so可以正常的调用,获取的方法官方提供的文档有说明字段

发布日期距离现在有点时间了,不过这个基本的功能改动应该不是很大