图像采集

软件开发 : ui层,业务逻辑层,数据层
一.halcon助手
1.循环采集
2.定时器(a.windows自带的控件定时器(不准,有误差);b.Timer类;c.线程技术(C#机制里面,有托管,委托,包括反射等机制))
3.多线程
4.回调函数(操作系统去调用的应用程序只是把回调函数的地址注册给操作系统,由操作系统来调用,当有一帧数据来了之后,就进入回调函数)
常用的采集有
软触发:相当于消息,内部给触发 a.set 触发模式 b.按钮等触发,进入软触发函数,MrApi:CameraSoftTrigger(m_hCamera)句柄区分不同相机
硬触发 :外界给信号。由电平电压等触发(触发时间可能过长,需提前触发,卡尔曼滤波预测)
自动连续采集
采集发生错误 接口库,驱动是否正常,相机是否被占用
a.定时器延时长一点 Image采集助手,参数设置(抓取延时等) b.图片显示不全时,加上dev_set_part(0,0,Height,Width)

二.SDK(软件开发包)采集 进行相机,控制板卡等的应用,先看开发手册(快速开发指南) sdk .h .lib .dll(动态链接库) 驱动文件 .sys .inf
基本流程如下:
1.初始化相机 2.枚举设备 3.注册回调 4.play(采集) 5.定义回调函数
配置 C#调用Halcon动态链接库,配置SDK的dll库(项目添加引用)

C#调用C++ C#有时候特别是在运动控制这里,满足不了实时性的时候,用库集成起来 用C++写一个库,然后用C#去调用。*
[DllImport(“MVCAMSDK.dll”)] 引入C++库
Puplic static extern CameraSdkStatus(CameraHandle hCamera, ref int piHoff, ref int piVoff,ref int piWidth,ref int piHeight); //暴露库中接口函数
//添加引用
using MVSDK; //使用SDK接口
using MvApi = MVSDK.MvApi;
using HalconDotNet;
//关闭相机
HOperatorSet.CloseFramegrabber(hv_AcqHandle);
ho_image.Dispose();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值