大恒相机sdk二次开发 _c#从0开始新建winform窗体实现相机基础采集功能
1.打开VS, 这里安装的是VS2019, 新建winform窗体.
2.打开水星驱动安装目录下的例程作为参考.
水星驱动安装包可以在大恒图像官网下载最新版本, 安装目录不要有中文路径, 安装之前把杀毒软件以及防火墙关闭,否则安装可能出问题. 我的水星驱动默认安装在c盘,以下是默认安装路径下例程的位置示意图 :
电脑是64位的, 选择x64文件夹下的src , 选择一个.sln文件打开,我的VS是2019的, 打开2015这个文件为例.
建议:
避免有时候可能误操作修改了例程代码, 可以把例程复制一份到自己的文件夹.
如果不小心修改了安装目录下的例程代码, 没有备份,可以使用卸载水星驱动, 再重新安装水星驱动的方法. 当然, 在卸载完水星驱动的时候, 也要删除一下安装目录下的文件夹Daheng Imaging ,避免某些文件残留, 以下是默认安装路径的文件夹位置 :
我们先做一个相机基础采集图像的功能, 参考GxSingleCam. 界面如下:
这里安装的水星驱动版本是2206.9232, 不同水星驱动版本安装目录下的例程可能不一样, 尽可能使用最新版本.
3.在自己工程的窗体上创建4个button按钮和一个picturebox.
此步骤可以自己创建, 也可以直接从例程选中相应控件复制粘贴过来. 这样一来控件名称会和例程的保持一致, 自己创建需要注意一下控件名称问题.
4.窗体加载事件中初始化接口库, 添加库的引用.
双击例程窗体顶部空白处进入窗体加载事件, 可以把初始化接口库的代码复制到自己的工程文件下. _updateUI(); 可以先不用.
报错提示上下文中不存在m_objIGXFactory, 在例程里面找到m_objIGXFactory选中,转到定义, 把例程里面的定义粘贴过来.
粘贴后报错未能找到类型或命名空间名”IGXFactory”. 我们需要引用库进来.
找到例程文件夹下的.dll库, 这里是.NET4.0框架的. 把文件夹下的库拷贝到自己工程文件夹里面.
然后把此库添加引用, 找到自己文件夹下拷贝过来的库添加进来.
库引用进来后, 添加命名空间, 调试改为x64. 报错消失.
5.打开设备按钮功能实现.
双击例程的打开设备按钮, 进入代码, 复制到自己工程里面.
复制进来报错比较多,提示没有定义的报错的话, 解决方式如之前, 在例程里面找到对应的没有定义的项目, 转到定义, 把定义都复制粘贴过来. 某些暂时不需要的项目可以删除或者注释, 比如 __InitUI(),__UpdateUI(),有些必要的不能删除.
定义完之后发现还有两个报错,我们需要把GxBitmap.cs添加进来.
找到例程里面此文件夹下的类文件, GxBitmap.cs, Win32Bitmap.cs拷贝到自己工程文件夹下.
在项目上右键添加-现有项, 把刚才的文件拷贝进来.
再添加命名空间
6.开始采集按钮功能实现
双击例程开始采集按钮, 复制代码过来.
报错提示不存在__CaptureCallbackPro. 在例程里面找到名称,转到定义, 把定义回调的代码复制过来.
报错未能找到GxSingleCam. 这里替换为自己的窗体名字,我的是MainForm.
报错ImageShowAndSave未定义,方法如上, 例程里面找到名称转到定义, 粘贴代码过来.
这里暂时不做存图功能, 可以把相应代码直接删除或者注释.
7.停止采集按钮功能实现
双击例程停止采集按钮, 复制代码
这步应该不会报错, 前面该定义的都定义过了.
8.关闭设备按钮功能实现
例程双击关闭设备按钮, 复制代码过来.
这步m_bIsOpen未定义, 参考前面方法定义一下就好了.
9.测试运行
连接大恒相机, 首先确认相机在水星驱动上可以正常采集图像.
再运行程序, 先点击打开设备, 稍等一会点击开始采集, 正常的话, 显示图像.
例程里面的4个按钮是有状态判断的.然后设置控件使能. 参考_updateUI()方法操作实现此功能.这样可以避免比如还没有点击打开设备, 就点击开始采集的情况.
实际应用中, 打开设备和开始采集两个按钮的功能也可以写在一起, 停止采集和关闭设备按钮的功能可以写在一起.
大恒相机sdk二次开发 _c#从0开始新建winform窗体实现相机基础采集功能相关推荐
- 基于大疆无人机SDK二次开发
基于大疆无人机SDK二次开发 近期公司项目需求,需要基于大疆无人机SDK开发一款手机 APP,用于配合后台实现对无人机的管理.当然大疆本身也给我们提供了管理平台-----大疆司空.通过大疆的官方 AP ...
- IDS相机SDK二次开发
接手的项目又用到了IDS的网口相机,需要进行双相机的出图,以及后续的视觉算法开发.以下将介绍利用IDS网口相机,在VS2013 win32控制台模式下进行相机的出图和测试(依旧使用OpenCV+Ima ...
- C/C++实战——基于Qt框架和visual studio的海康相机SDK二次开发
最近在进行机器视觉系统的搭建,积累了经验,想和大家讨论.互相学习.相机是图像的来源.为了搭建视觉系统,完成图像分析.机器视觉任务,需要编程控制相机按工作所需的曝光.增益和帧率同步采集和存储图像.工业相 ...
- 海康相机SDK二次开发的一些报错和解决办法
1.MV_OK 0x00000000 成功,无错误 解析:-2147483648/0x80000000正常状态返回,执行成功 2.MV_E_HANDLE 0x80000000 错误或无效的句 解析:- ...
- 海康相机-SDK二次开发(NVR)-多相机IPCamera连接采集-opencv图像格式转换
主要功能: 海康SDK开发,通过连接NVR,实现连接NVR的2个相机同时采集(多线程),并进行opencv图像格式转换. 关键技术点: 1.回调函数 2.YV12->oepncv图像格式转换 3 ...
- 【二次开发】将CATIA嵌入到Winform窗体中
由于项目需要,我们需要将CATIA嵌入到我们的软件之中,要求在软件启动后,同时调用并启动CATIA软件,并能够屏蔽掉软件自身的菜单和按钮.通过在网上查阅资料,实现了这一功能. 调用并启动CATIA p ...
- 海康威视工业相机SDK二次开发(VS+Opencv+QT+海康SDK+C++)(一)
最近在做一个项目,涉及到工业相机,需要对其进行二次开发.相机方面选择了海康威视,网上关于海康威视工业相机SDK的开发资料很少,官方文档里面虽然写的是支持C++开发的,但其实是C.自己也摸索了一段时间, ...
- 海康Camera MVS Linux SDK二次开发封装ROS packge过程记录(c++)
Livox Lidar + HIKROBOT Camera系列 最近在开发相机和激光雷达融合的slam算法,主要用于三维重建,想实时的得到彩色点云地图,传感器选择了海康威视的工业相机和大疆的固态激光 ...
- 【Machine Vision】关于工业相机编程调用SDK二次开发的一些步骤流程
近期接触到Basler等工业相机的SDK编程,调用其SDK进行二次开发,网上找了一些资料,整理如下,作为学习笔记以便以后翻阅. 1.工业相机编程模型和流程 不同的工业相机提供不同的编程接口(SDK), ...
最新文章
- python过滤敏感词
- 使用 yum 安装Docker(CentOS 7下)
- Formal Languages and Compilers-LL(1),FIRST and FOLLOW
- jQuery dataTable 操作个人使用总结
- 怎么将py文件转成dll_怎么将多个PPT同时转成PDF?
- Hibernate 关系映射
- angualarjsdemo
- solr基本查询和高级查询
- Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(10) - MXCSR状态控制指令
- 相比 C 、C++,Go 为什么不火?
- Java 添加、验证PDF 数字签名
- c语言回顾之指针数组和数组指针
- 数二计算机考研大纲2016,考研数学二考试大纲总结
- in作为介词的用法_介词in的用法
- 图像质量评价指标FID、LPIPS、NIQE及其代码
- 《The Forward-Forward Algorithm: Some Preliminary Investigations》
- 华为云存储空间图库占比太大_终于知道为什么华为手机删了照片,存储空间还是不足了!...
- fmri的图像数据在matlab中显示,利用imagesc工具进行显示,自带数据集-by 西南大学xulei教授...
- JAVA(计算机编程语言)
- 投入产出公开数据集:世界投入产出表(1995-2014)、全国投入产出表(1990-2018)、分省市投入产出表(1997-2017)