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

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

先上代码。

csharp 复制代码
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);
        }
    }
}
csharp 复制代码
//如何使用通用相机类
 MyBaseCamera _2dCamer=null;//新建虚函数对象
 _2dCamer =new HKCamerSDK();//根据我们需要开启的相机品牌去实例化化相机类
 _2dCamer.EventProcessImage += _2dImage;//注册委托事件,在拍照成功后会携带图像数据跳转到函数中
    	public void _2dImage(HObject camerimage)
        {
        //camerimage,所采集到的图像变量
        }

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

如果有新增通用功能在另外编写修改。

相关推荐
海盗12341 小时前
微软技术日报 2026-10-04:26H2 三个已知问题确认,Blazor 补上智能体 UI
人工智能·microsoft·ui·机器人·aigc
开开心心就好4 小时前
以图搜图找重复图片,本地工具离线就能用
javascript·智能手机·ffmpeg·c#·ocr·word·音视频
QQ_21696290965 小时前
基于C#(Asp.net)电竞陪玩信息管理系统的设计与实现
java·大数据·spring boot·微信小程序·c#·云计算·asp.net
7yewh13 小时前
SLAM 三维空间刚体运动(2)
数据结构·人工智能·机器人·嵌入式·slam
未来之窗软件服务14 小时前
C# 截图源码支持自动保存-东方仙盟
c#·仙盟创梦ide·东方仙盟·电脑工具
workflower1 天前
世界模型的内涵与发展
人工智能·机器人·云计算·无人机
7yewh1 天前
SLAM 从视觉里程计到建图(6)
数据结构·人工智能·机器人·自动驾驶·嵌入式
硅谷秋水1 天前
EmbodiedSWE:面向长时程灵巧机器人的编程智能体
人工智能·机器学习·语言模型·机器人·软件工程
海盗12341 天前
AI 新闻日报 2026-10-03:编排写进代码、领域知识打包成技能、具身智能回到班次与价格
人工智能·机器人·人工智能aigc
UIU1141 天前
-7 / 2 在 C 里是 -3,在 Python 里是 -4,谁算错了?
c++·学习·c#