• 上位机模块之通用重写相机类


    在常用的视觉上位机中,我们通常会使用单个上位机匹配多个相机或者多品牌相机,所以在此记录一个可重写的通用相机类,用于后续长期维护开发。
    先上代码。

    
    using HalconDotNet;
    using System.Collections.Generic;
    
    namespace WeldingInspection.MyCamer
    {
    //通用相机类
        public abstract class MyBaseCamera 
        {
            public HObject MyImage { get; set; }
            public string CamerName { get; set; }
            public abstract List<string> FindCamer();//查找相机
            public abstract bool OpenCamer(string CamerName);//根据相机序列号开启相机
            public abstract bool CloseCamer();//关闭相机
            public abstract bool OneGrap();//软触发一次
            public abstract bool EncoderGrap();//启动为硬触发
            public abstract bool ReconnectCamer(string CamerName);//重连相机
            public abstract bool SetExposureTime(int ExposureTime);//设置曝光
            
    
            //图像委托事件,用于传出参数
            public delegate void delegateProcessHImage(HObject Image);
            public event delegateProcessHImage EventProcessImage;
    //调用图像函数,用于在转换图像格式后将图像传出
            public void GetImage(HObject getimage)
            {
                MyImage = new HObject(getimage);
                EventProcessImage(MyImage);
            }
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    //如何使用通用相机类
     MyBaseCamera _2dCamer=null;//新建虚函数对象
     _2dCamer =new HKCamerSDK();//根据我们需要开启的相机品牌去实例化化相机类
     _2dCamer.EventProcessImage += _2dImage;//注册委托事件,在拍照成功后会携带图像数据跳转到函数中
        	public void _2dImage(HObject camerimage)
            {
            //camerimage,所采集到的图像变量
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    通用的相机类包含我们需要继承和重写的内容,其中方式有很多种,暂定列举现在常用的通用功能。分为:查找相机,根据相机序列号开启相机,关闭相机,软触发一次,硬触发(飞拍),重连相机,设置参数。
    如果有新增通用功能在另外编写修改。

  • 相关阅读:
    虹科干货 | 如何选择合适水下应用的集成电缆传感器?
    基本数据类型的包装类
    聊聊并发编程的10个坑,千万小心!!!
    使用pgAdmin创建ERD
    【HTML】元婴篇
    煤矿企业如何选择合适的设备健康管理系统
    第一章:最新版零基础学习 PYTHON 教程(第十四节 - Python 条件和循环语句–Python 中的 with 语句)
    了解“预训练-微调”,看这一篇就够了
    janus videoroom之媒体录制
    python sorted函数详解2023.9.11
  • 原文地址:https://blog.csdn.net/m0_51559565/article/details/134403745