title: 海康威视摄像机SDK的使用
date: 2020-05-01 12:12:01
tags:
- SDK
- C++
- 指针
- 海康威视
写在前面
文章未经允许,不可转载
海康威视提供的SDK,支持C++、Java、C#,但是就是不支持Python,调用SDK并不是件很愉快的事情。毕竟和图像相关的程序,Python编写起来更加方便。如果不特定选择海康威视这个品牌,大华摄像机是支持Python,而且还支持go,第一次看到的时候,我还是吃了一惊,心想厉害呀!
本文章将会有如下内容:
- 解码yuv
- 编写类调用海康威视相机
- void *
- redis
- 多线程
- 制作Python的海康威视库(不是重点)
opencv解码
摄像机是图像采集的设备,采集得到是YUV格式的图像数据,如果要对图像进行处理,第一步就是转换为rgb的图像。
方法嘛,网上很多文章都已经写了,有自己编程,也有用opencv直接转换的,我个人推荐使用opencv库进行转换。
位于回调函数DecCBFun中,代码片段如下:
// 解码部分不控制速度,只要从回调函数中返回,解码器就会解码下一部分数据
// 解码回调后,需要及时返回;如果等到上层所有操作都结束再返回,可能会影响到播放库主线程执行
long lFrameType = pFrameInfo->nType;
if (lFrameType == T_YV12)
{
// 原始yuv图像
cv::Mat YUVImg(p