海康机器人和海康威视不是通用的平台!需要不同的SDK

一、连接海康机器人的工业相机

1、环境搭建:

不想再安装庞大的MVS,先下载Linux runtime包  机器视觉工业相机SDK V3.2.0版本Runtime组件包(Linux).zip:

海康机器人-机器视觉-下载中心

然后解压出来

接着执行下面命令安装Lib:

sudo dpkg -i MvCamCtrlSDK_Runtime-3.2.0_armhf_20210915.deb

第一次安装会让设置一个基础路径,我设置的是 : /opt/MVS

可能是我不懂啊,安装后找不到include文件夹,无奈,还是得下载MVS,

下载后,找到对应的文件,将MVS-2.1.0_armhf_20201228/MVS/路径下的include文件夹拷贝到/opt/MVS下面,另外,把Samples、doc文件夹都拷贝出来,用于辅助开发。

2、QT设置

.pro文件中添加包含和库路径:

/opt/MVS/include
LIBS+= -L/opt/MVS/lib/armhf/ -lMVGigEVisionSDK \
                             -lMvCameraControl \
                             -lMVRender\
                             -lFormatConversion\
                             -lMediaProcess

根据自己的接口添加即可,我现在用的GigE,也可以添加USB。

程序中直接包含头文件即可:

#include "MvCameraControl.h"

二、连接海康网络相机

下载的地址不一样,海康威视的网络相机地址:

海康开放平台

需要注册登陆。

选择好对应的版本即可,树莓派4B是对应linux32Bit的版本。

下载的sdk中有incCn和liib两个文件,将他们拷贝到QT工程目录,然后添加路径即可。

另外,还需要将lib的路径添加到环境变量中:

qt库文件添加到环境变量linux,QT程序中使用so动态库,如何设置LD_LIBRARY_PATH环境变量..._codingdie的博客-CSDN博客

三、一些致命问题及解决方案

海康网络摄像仪的SDK是在X86平台上编译的,不支持ARM构架,无法使用其提供的SDK进行流获取,看样子只能用rtsp协议搞了。尝试使用QT+opencv来做吧,参考下面两个博客:

使用AMR9开发板(zedboard)基于opencv读取并处理网络监控相机rtsp视频流_photonfly的博客-CSDN博客

opencv图片压缩视频并读取 - 随性岁分享 - 博客园

Logo

更多推荐