VS2015配置海康威视工业相机SDK二次开发
1、概述:
工业相机SDK是用于控制相机的一个独立组件,支持获取实时图像数据、配置参数、对图像进行后续处理等功能。工业相机SDK兼容GigE Vision协议、USB3 Vision协议、Camera Link协议、CoaXPress协议,目前支持Windows、Linux、Mac以及Android系统,不同的操作系统下需要加载使用配套的SDK版本并参考相应SDK开发指南。SDK对相机的控制上,最基本的功能有参数设置和图像获取两部分。需要 强调的是,工业相机是没有密码的,除非有IP冲突,否则是随连随用的。
2、工业相机二次开发的Demo示例
要想使用工业相机的SDK,需要先下载海康的MVS软件–官方下载地址,根据你的操作系统机器选择下载视觉工业相机客户端MVS。二次开发的Demo示例在软件目录下的MVS\Development\Samples中,打开如图:
根据你开发所用的语言环境不同选择对应的文件夹,这里我用到的是C++语言,开发软件是VS2015,所以选择VC文件夹,里面的demo示例程序如下:
根据我的需求,我只用到了红框所示的两个程序,但是这里能实现的功能还是很完善的,也可以参考海康的官方参考文档:https://www.hikrobotics.com/machinevision/service/download?module=1
3、VS2015配置海康SDK
3.1.1 添加附加包含目录
项目 --- 属性 --- 属性页 --- C/C++ --- 常规--- 附加包含目录,添加如下路径:
E:\code\Libraries\HKSDK\Includes

3.1.2 添加附加库目录
项目 --- 属性 --- 属性页 --- 链接器 --- 常规 --- 附加库目录,添加如下路径
E:\code\Libraries\HKSDK\Libraries\win64

3.1.3 添加附加依赖项
项目 --- 属性 --- 属性页 --- 链接器 --- 输入 --- 附加依赖项,添加
MvCameraControl.lib

在自己的项目的头文件引用#include "MvCameraControl.h"即可。
4、具体开发步骤:
这里我采用的是型号为MV-CA050-10GC的海康工业相机,开发平台是VS2015,界面是在Qt5框架上开发的。(在VS2015中配置Qt这里不再赘述,网上有很多教程)
1)先连接相机用MVS软件测试
具体怎么连接可以参考MVS软件安装目录(D:\MVS\MVS\Development\Documentations)下的《示例程序说明VS2008.pdf》说明

2)SDK开发
参考MVS安装目录:D:\MVS\MVS\Development\Samples\VC\VS下BasicDemo实例

操作相机的函数都在MyCamera类中,我们可以直接复制这两个文件到自己的项目里;
3)操作相机的流程:

具体的函数说明可以到安装目录《工业相机SDK使用手册.chm》查询
5、遇到的问题
1)运行BasiceDemo实例时出现如下错误"Open Fail:Error = 80000203:No permission"

这是因为MVS软件正在使用相机,相机的端口被占用了,把MVS软件关闭就行了。
VS2015配置海康威视工业相机SDK二次开发的更多相关文章
- 大华门禁SDK二次开发(一)-技术沟通
项目中需要能够查询门禁信号和控制门禁设备,因此需要基于大华门禁SDK进行二次开发,开发语言C#.门禁开发中遇到了一些问题,经过与大华技术的邮件沟通也一一解决.做这个开发的时候,发现网上的资料比较少,想 ...
- 海康相机SDK二次开发只有视频无声音问题
海康SDK相信做企业开发的的同仁,在项目中经常会用到,毕竟使用范围这么广. 本次就开发遇到的奇葩问题来说明一下我们的解决方案. 场景 虽然海康有4200客户端,但是对于高度定制化的项目,肯定不能再使用 ...
- 大华门禁SDK二次开发(二)-SignalR应用
经过与大华技术支持的沟通,门禁服务程序已经开发好了,可以正常接收门禁开关事件,可以发送开门命令.基于项目实时性要求,这里使用SignalR实现门禁状态.控制命令的实时传送. 几种场景需求 根据Sign ...
- lync sdk 二次开发
1.关于 UI Suppression Mode http://blog.thoughtstuff.co.uk/2014/08/the-6-things-you-need-to-know-about- ...
- ArcEngine10.1二次开发错误: 无法嵌入互操作类型,请改用适用的接口
在之前配置ArcEngine.VS2010二次开发程序的时候,遇见"无法嵌入互操作类型,请改用适用的接口"的错误,在网上查了下,下面引用解决方法. 解决方式为在提示错误的引用上面右 ...
- 17 win7 sp1 x64/VS2015下配置creo4.0二次开发环境——调用了众多开源库(ceres-solver,PCL1.8.0,office 2016COM接口,MySql数据库等)
0 引言 本次开发环境的配置是在综合考虑了开源库的版本.VS版本以及CREO4.0的版本,同时针对甲方需求选择了win7 sp1 x64系统. 配置的过程中遇到了形形色色的问题,但是一一解决了.通过这 ...
- VS2015配置Andriod开发环境
原文:VS2015配置Andriod开发环境 折腾了好久终于配置OK了,分享给大家! 第一步: http://xamarin.com/download下载XamarinInstaller 第二步: 运 ...
- Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)
Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)准备内容 Revit 2019开发环境的搭建,需要安装的内容如下: Revit 2019(主要的开发环境) Vi ...
- 【基于spark IM 的二次开发笔记】第一天 各种配置
[基于spark IM 的二次开发笔记]第一天 各种配置 http://juforg.iteye.com/blog/1870487 http://www.igniterealtime.org/down ...
随机推荐
- 我的开源经历:为了方便处理三方 HTTP 接口而写的 Java 框架
缘起 我以前公司需要在 Java 后台调用许多第三方 HTTP 接口,比如微信支付.友盟等等第三方平台. 公司内部还有很多服务是用世界最好语言写的,接口自然也只能通过 HTTP 接口来调用.于是日积月 ...
- Linux下查询外网IP的办法。
Curl 纯文本格式输出:curl icanhazip.comcurl ifconfig.mecurl curlmyip.comcurl ip.appspot.comcurl ipinfo.io/ip ...
- CG-CTF RSAEASY
最近学习rsa涨了不少新知识,这次遇到了一个比较简单但是需要想想的题目,因为发现网上没有查到wp就想写一下提供一些思路. 首先题目给了n,p-q,e,然后n很大,无法使用工具分解,呢么感觉肯定是利用p ...
- 他凭借这70份PDF,3170页文件,成功斩获了含BATJ所有的offer
前言 最近我一直在面试高级工程师,不管初级,高级,程序员,我想面试前,大家刷题一定是是少不了吧. 我也一样,我在网上找了很多面试题来看,最近又赶上跳槽的高峰期,好多粉丝,都问我要有没有最新面试题,索性 ...
- 面试官:小伙子,你能给我说一下HashMap的实现原理吗?
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(他与Hashtable类似,但Hashtable是线程安全的,所以是同步的实现),此实现提供可选的映射操作,允许使用nu ...
- Elements-of-Python01_Input/Output
(内容包括输入input,输出print,注释comment,预测类型转换eval,命名与赋值Name & Bestow) 输入Input 和 输出Print Python中利用input() ...
- bash反弹shell检测
1.进程 file descriptor 异常检测 检测 file descriptor 是否指向一个socket 以重定向+/dev/tcp Bash反弹Shell攻击方式为例,这类反弹shell的 ...
- Java基础教程——List(列表)
集合概述 Java中的集合,指一系列存储数据的接口和类,可以解决复杂的数据存储问题. 导包:import java.util.*; 简化的集合框架图如下: List·列表 ArrayList List ...
- [BUGCASE]前端码案概述
中医有医案之说,程序会出bug,因此想到将自己在项目中遇到的疑难bug记录下来的想法,出于以下目的: 沉淀经验 通过问题学习 训练解决问题的能力 训练文档写作能力 取名:码案(Bug Case). 医 ...
- DjangoForm表单组件
Form组件的介绍: 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验 ...