网站首页 > 技术文章 正文
这篇文章,我来介绍一下海康工业相机SDK的使用方法。如果是老手,你可以跳过,如果是新手,可以看看,欢迎拍砖
要使用海康的工业相机SDK,要先下载 机器视觉工业相机SDK V3.2.0版本Runtime组件包,这里面包含了相机的所有运行时库,安装后运行时环境在C:\Program Files (x86)\Common Files\MVS目录下,里面包括了各种海康SDK运行时库以及GenICam相关的库文件。
下载机器视觉工业相机客户端MVS3.1.0后安装,其实MVS是根据相机SDK做的一个应用软件开发,注意安装的时候选择开发者模式。安装好后在目录下D:\ProgramFiles\MVS\MVS\Development中有SDK开发相关文档
Bin 下为C#写的一个demo。Documentations中为各种示例,DotNet为调用的程序集, 分为32、64、AnyCPU的程序集,这个程序集就是把C接口通过DllImport转到C#调用的简单封装,Includes为C++开发所需要的头文件,Libraries为C++开发的库文件,Samples中为各种编程语言以及常用的算法工具(Halcon\Opencv\LabView)提供的demo,ThirdPartyPlatformAdapter为其他第三方算法工具提供的驱动,可以通过对应的算法工具取流。
在这里我以C接口代码说明,C接口和C#接口不同就是,在接口后面增加了一个_NET,我一般使用C接口方式。
设备连接流程
主动取流流程
主动取流需要调用 MV_CC_GetOneFrameTimeout接口主动获取图像数据,我一般是开一个线程,在接收到下位机信号后调用这个接口,然后加入到缓存,供算法调用。
回调取流流程
回调取流通过
MV_CC_RegisterImageCallBackEx把数据通过回调函数给到注册者。
以MV_CC_Set*或MV_CC_Get*的第一个参数是一个字符串类型的,这个类型是相机的一个属性,可以在Documentations\MvCameraNode.xlsx中查找,比如ExppsureTime为曝光节点,数据类型是Float,单位是微秒,R/W为此特性可读可写,这个特性是GenICam中规定的。
对开发者来说,这些特性在MVS中右侧的属性树中查看到,如果想看更多的知识,如下是我自己本地的一个虚拟相机,右侧的属性是我虚拟相机根据GenICam来进行写的一个XML描述文件,正常来说,相机的XML描述文件有一万多行,MVS和SDK中只会把一部分属性列举出来,并非所有属性。
- 上一篇: 链接mono静态库,执行c#程序(mockito 静态类)
- 下一篇: C语言简介(c语言编程介绍)
猜你喜欢
- 2025-05-10 热学和湿度超稳定的一维钙钛矿(钙钛矿eqe)
- 2025-05-10 C#上位机基于SMTP实现邮件报警通知
- 2025-05-10 Android平台上最好的几款免费的代码编辑器
- 2025-05-10 CPU缓存一致性:从理论到实战(cpu和缓存)
- 2025-05-10 头文件路径搜索顺序五花八门,有没有规律?
- 2025-05-10 .NET 7 AOT 的使用以及 .NET 与 Go 互相调用
- 2025-05-10 Linux系列:如何用 C#调用 C方法造成内存泄露
- 2025-05-10 测评丨RK3399+RK1808人工智能计算棒(主动模式和被动模式)
- 2025-05-10 C语言简介(c语言编程介绍)
- 2025-05-10 链接mono静态库,执行c#程序(mockito 静态类)
- 05-11官方资源!多所知名高校课程,这个平台免费开放→
- 05-11说好的免费课程学剪辑 怎么会“花”掉10万?
- 05-11免费公开!中小学国家课程教材电子版来了
- 05-11338所知名高校50万门课,全免费!赶紧收藏
- 05-11免费课程来了,快来解锁你的艺术“超能力”吧~
- 05-10热学和湿度超稳定的一维钙钛矿(钙钛矿eqe)
- 05-10C#上位机基于SMTP实现邮件报警通知
- 05-10Android平台上最好的几款免费的代码编辑器
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- js判断是否空对象 (63)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- js数组插入 (83)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- outofmemoryerror是什么意思 (64)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)