当前位置: 首页 > news >正文

一个开源的 C# 工业相机库,含海康(HIK)、大恒、巴斯勒(Basler)等相机的常用功能!

致力于挖掘功能强大、性能优越、创新前沿且简单易用的 C#/.NET 开源框架、项目、类库与工具。助力 .NET 开发者轻松解锁并运用这些实用的宝藏资源,提升开发效率与创新能力!

项目概述

MgCamCtrl 是一个专为工业相机设计的开源库,旨在为开发者提供一套统一且易用的接口,以控制多种品牌的工业相机。该库特别适用于需要集成海康(HIK)、大恒、巴斯勒(Basler)等品牌相机的应用场景,包括但不限于:

  • 自动化检测:在生产线上进行产品质量的自动检测。

  • 机器视觉:用于机器人导航、物体识别与定位。

  • 科研实验:在科学研究中捕捉高速或高精度的图像数据。

  • 安防监控:需要高清晰度、高稳定性相机的监控系统。

功能模块

MgCamCtrl 提供了以下核心功能模块:

  • 相机连接与管理:支持多种品牌相机的连接、断开及状态监控。

  • 图像采集:实现单帧、连续帧的图像采集功能。

  • 参数配置:允许用户配置相机的各种参数,如曝光时间、增益、帧率等。

  • 图像处理:提供基本的图像处理功能,如图像转换、滤波等(具体功能依据库实现而定)。

  • 异常处理:捕获并处理相机操作过程中可能出现的异常。

功能特点

  • 多品牌支持:统一接口控制海康、大恒、巴斯勒等多种品牌相机。

  • 易于集成:提供简洁的API,便于开发者快速集成到现有系统中。

  • 高性能:优化图像采集与处理流程,确保高效运行。

  • 可扩展性:模块化设计,便于添加对新品牌相机的支持。

使用流程

工厂模式创建实例

ICamera myCamera; myCamera= CamFactory.CreatCamera(CameraBrand.HIK);//CameraBrand.DaHeng | CameraBrand.Basler

枚举SN

//获取相机枚举 var devicelist = myCamera.GetListEnum(); //or //var devicelist = CamFactory.GetDeviceEnum(CameraBrand.HIK);

初始化

//选对应SN,初始化相机 myCamera.InitDevice(devicelist.First());

取图

为了能兼容其他视觉平台,图像格式为Bitmap 这样无论是OpenCV Halcon VisionPro 都可任意转换想要的格式

//等待硬触发 获取图片, 设定超时:5000ms myCamera.GetImage(out Bitmap CaptureImage,3000); //or 使用默认超时时间 //myCamera.GetImage(out Bitmap CaptureImage); //软触发获取图像 //myCamera.GetImageWithSoftTrigger(out Bitmap CaptureImage); /// <summary> /// 回调函数 /// </summary> /// <param name="bmp"></param> private void CameraCallBack(Bitmap bmp) { //执行取图后的操作 bmp.Save("./test.bmp"); }

注销相机

//注销当前实例 myCamera.CloseDevice(); ////or //CamFactory.DestroyCamera(myCamera); ////or //CamFactory.DestroyAll();

相机参数配置

源码地址

https://gitee.com/laomaogu/mgcamctrl

  • 一款基于 .NET 开源免费的在线考试系统

  • 一个开源、简单、快速的 .NET Word 模板引擎

  • 一款开源、流行的 WPF 控件库,提供近 80 款常用的组件!

  • 一个基于 .NET 开源、高性能、可扩展的套接字服务器应用程序框架

  • 全面支持国产化!C# 开源跨平台 UI 框架,支持 Windows、Mac、Linux

  • 一个基于 .NET 开源的分布式任务调度系统,支持跨平台多节点部署运行!

  • C#并发流程控制框架、运动控制框架,适用于工业自动化运动控制、机器视觉流程开发!

  • 一个使用 WPF 做一个 Diagram 画板(包含流程图FlowChart,思维导图MindEditor)

  • 9.7k Star,一份超级全面 C#/.NET/.NET Core 学习、工作、面试指南!

http://www.cnnetsun.cn/news/158973.html

相关文章:

  • Langchain-Chatchat助力精准广告投放
  • FaceFusion能否实现眼神跟随效果?视线重定向技术前瞻
  • 【课程设计/毕业设计】基于微信小程序的考研公共课资料库分享平台基于php+微信小程序的考公资料库分享平台资料库平台【附源码、数据库、万字文档】
  • 程序员必藏:大模型时代生存手册:从传统开发到AI工程师的转型秘籍
  • Langchain-Chatchat支持的知识库版本控制机制设计
  • Java毕设项目推荐-基于Java+SpringBoot的仓库管理系统的设计与实现基于springboot的自行车仓库管理系统设计与实现【附源码+文档,调试定制服务】
  • FaceFusion人脸美化功能拓展可能性分析
  • Langchain-Chatchat在招投标知识库中的结构化查询能力
  • FaceFusion能否用于游戏角色换脸?游戏MOD圈热捧
  • FaceFusion图形界面版来了!无需代码也能操作
  • Langchain-Chatchat构建品牌知识一致性管理体系
  • 14、Visual C 2005 开发 CE 设备应用指南
  • 公众号 SVG 交互内容怎么做?一次关于 E2 编辑器的工具选型记录
  • 【故障诊断】UIO和集合论UIO故障诊断【含Matlab源码 14734期】
  • python+vue3的书籍小说阅读笔记交流分享平台095441137
  • 【Copula】考虑风光联合出力和相关性的Copula场景生成附Matlab代码
  • 火山引擎回应云大厂竞争:云处于重大变革期
  • 【毕业设计】基于springboot的智慧医疗管理系统(源码+文档+远程调试,全bao定制等)
  • 28nm以下工艺PMIC设计雷区:LOD、WPE、HKMG如何悄悄毁掉你的LDO?
  • Abaqus水力压裂模拟:基于Cohesive单元与XFEM的方法研究
  • 44、COMSOL模拟二维裂隙流压裂水平井裂缝性油藏离散裂缝网络模型COMSOL数值模拟案例
  • 今天咱们来聊聊ReliefF算法,一个在分类数据特征选择中相当实用的工具。废话不多说,直接上代码,边看边聊
  • MATLAB R2018A环境下的液相色谱信号自动调优降噪算法——交叉验证作为参数调节器
  • 计算机Java毕设实战-基于springboot的足球训练营系统的设计与实现设计与实现基于SpringBoot的青训足球综合运营平台设计与实现 【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 2025年软件测试技术发展趋势与从业者应对策略
  • 电驱动(电机+电控)开发验证方法与技巧的高清视频教程,深入讲解精细技术,掌握实用技巧
  • 每天24小时的电价(元/kWh)
  • C#编程下的自定义控件与OpenCVSharp结合应用:卡尺测距功能实现
  • NGBoost-shap方法回归任务,由斯坦福吴恩达团队提出,属于集成模型的一种2019年提出的
  • Langchain-Chatchat Kubernetes集群部署策略