前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows下使用海康相机SDK获取图像并在Qt显示

Windows下使用海康相机SDK获取图像并在Qt显示

作者头像
用户5908113
发布2020-03-11 18:09:40
4.5K2
发布2020-03-11 18:09:40
举报
文章被收录于专栏:Pou光明Pou光明

点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,可以点个在看,让它可以帮助到更多同志

一、一些基础信息

MVS 版本 V3.1.0

SDK 版本:V3.2.0.3

1. 库与头文件位置

安装完MVS软件后,会有相机SDK的一些资料,如下,是动态库的资料。

2. 使用MVS软件设置相机IP

连接相机电源线与网线后,通过MVS软件设置相机IP。

3. 使用MVS显示相机图像

成功连接相机后,先设置触发模式为【Off】;再点击左上角开始按钮,之后相机开始获取图像。之后调节相机的焦距、曝光等参数,使图像清晰,如下图

4. 通过以上设置,完成了对相机的设置及测试。之后关闭软件,准备使用相机的SDK来获取图像。对于刚开始接触相机的同志,一些术语比较陌生,尤其是之后显示图像时的一些参数,开始时我也很蒙圈,现在也不是很懂,只是把效果做出来了,如果能给初学的同志提供微不足道的帮助,那真是太好了。

二、Qt 使用SDK 显示图像

恰好有黑白相机与彩色相机,所以就把这两个合二为一,全部测试了。

获取图像数据是使用SDK中的回调函数方式完成的,优点是无需自己控制获取频率,图像获取完成后自动调用。

Qt 显示图像使用的是QLabel setPixmap(QImage),QImage将图像字节数据根据参数转为图像给setPixmap。

1. 使用SDK操作相机流程

1> 初始化相机

具体流程可直接参考MVS里面的SDK接口手册,我在这里简单说下流程。

①枚举子网内指定的传输协议对应的所有设备

②选择查找到的第一台在线设备,创建设备句柄

③连接设备

④获取图像的宽和高

⑤设置触发方式为Off

2> 注册回调函数获取图像

由于获取彩色相机与黑白相机的回调函数不同,这里做了区分。通过获取相机型号,判断特定字符来完成的。

代码语言:javascript
复制
if(m_isColor)    {        int ret = MV_CC_RegisterImageCallBackForRGB(handle,                       CameraWidget::getCameraImageCallback,                                                    this);        if(MV_OK != ret)            qDebug() << "=======faild =======" ;    }    else        MV_CC_RegisterImageCallBackEx(handle,                         CameraWidget::getCameraImageCallback,                                      this);

3> 控制相机开始取图

只有相机开始取图后,才会进入回调函数,否则是不会进入回调函数的。

MV_CC_StartGrabbing(handle);

2. 效果如下

彩色图像显示,截图下方是相机型号与序列号

黑白图像效果

三、小结

希望通过这篇文章能帮到刚开始入门相机的同志。

在获取彩色图像时,使用的回调函数获取的RGB24的图像,此时为图像数据分配空间应是 图像宽度*图像高度*3;获取黑白图像对应分配数据空间是图像宽度*图像高度。

彩色图像的QImage为QImage::Format_RGB888

代码语言:javascript
复制
QImage((uchar*)mpData,m_imageWidth,m_imageHeight,QImage::Format_RGB888);

黑白图像的QImage为QImage::Format_Indexed8

代码语言:javascript
复制
QImage((uchar*)mpData,m_imageWidth,m_imageHeight,QImage::Format_Indexed8);
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Pou光明 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档