Halcon (0):C# 联合Halcon方式简介和就业市场说明

文章目录

  • 文章专栏
  • 前言
  • 相关视频
  • 联合C#开发
    • 直接导出C#代码
    • Halcon引擎调用开发
      • 函数封装
      • 库工程导出
  • 总结
  • 就业市场

文章专栏

Halcon开发

前言

根据我的测试,我发现Halcon和WPF中的halcon插件,代码具有对应性。就是你会了Halcon,WPF也差不多久会了

对应关系
在这里插入图片描述
在这里插入图片描述

相关视频

机器视觉之C#联合Halcon

这个视频有两个优点,第一比较新,是2022年底的。还有是偏案例的形式,学起来比较快。对于我这种编程基础比较扎实了,直接上代码就行了,语法这些东西都是一通百通的。

联合C#开发

联合C#开发一般就如下两种
在这里插入图片描述

  • 导出C#代码
    • 先在halcon平台上面进行调试,然后再导出C#代码。将Action进行改造导入。
    • 简单,好操作。将Halcon脚本代码和C#逻辑进行拆分。缺点是缺乏灵活性。
  • Halcon引擎直接开发
    • 直接在C#中调用Halcon代码
    • 是最灵活的方式。由于C# 本身的.net 生态和C#的内存管理。是halcon简单项目开发最好的方式。除非是解决复杂问题,例如3D画面的机器视觉问题解决。则需要使用QT+ [C++]或者OpenCV开发。

直接导出C#代码

选好写好的Halcon脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体开发方式不在讲述,可以看看我之前做的博客

Halcon WPF 开发学习笔记(2):Halcon导出c#脚本和WPF初步开发

Halcon WPF 开发学习笔记(3):WPF+Halcon初步开发

Halcon WPF 开发学习笔记(4):Halcon 锚点坐标打印

Halcon引擎调用开发

作为更高级别的方法方式。难而灵活是他的特点。需要对halcon的算子有着十分熟练的使用。

函数封装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

库工程导出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

我个人更加推荐第二个导出,库函数封装。使用了库函数封装之后,我们只需要导出C#代码即可。导出的C#的代码是static静态方法,不可以实例化。我们可以将多个halcon过程函数进行封装,进而得到更加模块化的编程体验。

由于我之前说过,halcon的算子和C# HSmartWindowControlWPF控件方面基本一致,只是命名方法有点区别。所以我们根本不需要详细了解控件的使用方式,直接上手使用halcon平台即可。

halcon是目前最全面,性能最好的机器视觉商用软件。是我目前了解到的C# 上位机最好的工作方向,比起只是单纯的udp/tcp/串口通讯解析,是更有前景的工作方向。

就业市场

在这里插入图片描述
C#联合Halcon可以拥有15k到25k的工资水平。而且工业开发一般不加班,因为互联网开发996是因为要去把握风口,要快干快上。而工业开发需要整个硬件和软件的协调开发,更具有规律性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/191388.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【springboot笔记】程序可用性检测ApplicationAvailability

1.背景 springboot-3.1.5 ApplicationAvailability LivenessState ReadinessState AvailabilityChangeEvent 我们可以通过ApplicationAvailability获取当前应用程序的可用性,这个可用性包括ApplicationContext和对外请求路由两种。 LivenessState 是表示Applicatio…

消息积压了如何处理?

欢迎大家到我的博客阅读这篇文章。消息积压了如何处理? - 胤凯 (oyto.github.io)在系统中使用消息队列的时候,消息积压这个问题也经常遇到,并且这个问题还不太好解决。 消息积压的直接原因通常是,系统中的某个部分出现了性能问题…

[深度学习]卷积神经网络的概念,入门构建(代码实例)

# 不再任何人,任何组织的身上倾注任何的感情,或许这就是能活得更开心的办法 0.写在前面: 卷积神经网络的部分在之前就已经有所接触,这里重新更全面地总结一下关于深度学习中卷积神经网络的部分.并且在这里对如何构建代码,一些新的思想和网络做出一点点补充,同时会持续更新一些…

异步任务线程池——最优雅的方式创建异步任务

对于刚刚从校园出来的菜鸡选手很容易写出自以为没问题的屎山代码,可是当上线后就会立即暴露出问题,这说到底还是基础不够扎实!只会背八股文,却不理解,面试头头是道,一旦落地就啥也不是。此处,抛…

使用Pandas进行时间重采样,充分挖掘数据价值

大家好,时间序列数据蕴含着很大价值,通过重采样技术可以提升原始数据的表现形式。本文将介绍数据重采样方法和工具,提升数据可视化技巧。 在进行时间数据可视化时,数据重采样是至关重要且非常有用的,它支持控制数据的…

让资产权利归于建设者:Kiosk使过程变得更简单

区块链凭借着其将人的权利地位置于平台之上的能力,可以重塑互联网,而自托管为个人提供了控制和管理其资产和数据的能力。链上交易支持建设者和客户之间的点对点交易。这些特质联合起来,可以将数字世界从基于价值提取的模式转变为基于价值创造…

kk模组的具体应用场合

KK模组是一种高精度、高刚度的直线模组,广泛应用于各种自动化设备和精密仪器中。以下是KK模组的一些具体应用场合: 1、半导体设备:半导体制造过程中需要使用精密的定位和运动控制设备,KK模组作为一种高精度、高刚度的直线模组&…

进程程序替换与exec系统调用

进程程序替换 进程程序替换是指将一个正在运行的进程替换为另一个可执行程序。它的本质是调用了Linux操作系统中的exec系统调用。而exec系统调用是一个家族函数,例如execl、execv、execle、execve等。它们的共同特点是当当前进程执行到该函数时,就会直接…

栈和队列的初始化,插入,删除,销毁。

目录 题外话 顺序表和链表优缺点以及特点 一.栈的特点 二. 栈的操作 2.1初始化 2.2 栈的销毁 2.3 栈的插入 2.3 输出top 2.4 栈的删除 2.5 输出栈 题外话 顺序表和链表优缺点以及特点 特点:顺序表,逻辑地址物理地址。可以任意访问&#xff0c…

CTF-PWN-tips

文章目录 overflowscanfgetreadstrcpystrcat Find string in gdbgdbgdb peda Binary ServiceFind specific function offset in libc手工自动 Find /bin/sh or sh in library手动自动 Leak stack addressFork problem in gdbSecret of a mysterious section - .tlsPredictable …

HDMI之EDID析义篇

DisplayID Type X Video Timing Data Block 实例 F0 2A 10 93 FF 0E 6F 08 8F 10 93 7F 07 37 04 8F 10该数据来源于SHARP AQUOS-TVE23A 4K144Hz电视机的第3个EDID块(基于HF-EEODB)。 定义 解释 VTDB 1: 3840x2160 144.000009 Hz 16:9 333.216 kHz 1343.527000 MHz (RBv3,h…

python中sklearn库在数据预处理中的详细用法,及5个常用的Scikit-learn(通常简称为 sklearn)程序代码示例

文章目录 前言1. 数据清洗:使用 sklearn.preprocessing 中的 StandardScaler 和 MinMaxScaler 进行数据规范化。2. 缺失值处理:使用 sklearn.impute 中的 SimpleImputer 来填充缺失值。3. 数据编码:使用 sklearn.preprocessing 中的 OneHotEn…