(二)掰开了,揉碎了,说经典halcon中的那些算子

2024-03-16 12:30

本文主要是介绍(二)掰开了,揉碎了,说经典halcon中的那些算子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计算机视觉:通俗点讲:就是让计算机通过图像理解外围的世界,理解之后要通过外围的控制系统与外界发生联系、动作:手眼抓取、标定、搬运。

视觉的平台有:Halcon、OpenCV、LabView


算子记忆的越多,后面越记不住。学视觉,绝不是比记忆力,比谁算子学的多。方向导向最重要。学习的最高境界:什么都记不住,套路,灵活使用,无招胜有招。学halcon一定要灵活,halcon做的很好,一定要触类旁通的。

halcon的学习要以项目为主,不要去钻牛角尖,不要细究语法。本身就是提供了一门工具。不要去研究怎么修工具,只要会使用,用好就足够了,不要去研究怎么修车。

一定要注意思路,思路决定出路。 做任何事情,一定要有一个方向导向。

方法思路、套路很重要。人生苦短、套路捷径必取。

halcon界面大多:见名知意。多摸索,慢慢就熟悉了,任何一个人刚接触一个新软件,都会有一种陌生感,但是一两天之后就会非常熟悉这个软件了。

halcon的两个路径:

C:\Users\Public\Documents\MVTec\HALCON-17.12-Progress\examples\images

C:\Program Files\MVTec\HALCON-17.12-Progress\doc\pdf\manuals

 

三个常用手法:二值化、形状选择、形态学。

  • 二值化:通过threshold。灰度直方图。
  • 形状选择:通过select_shape。特征直方图。
  • 开闭运算,膨胀腐蚀。

halcon有两种变量:一种是图像变量,一种是控制变量。

图像变量又分为:图像区域xld亚像素轮廓三大数据类型。

图像:由像素构成:亮度值来表示该点的状态。

图形:矢量的几何,带方向大小的矢量构成。

图像文件:图片在硬盘上存储方式格式、给操作系统看的。


在halcon程序编辑器中,通过输入函数名(会有提示)然后按两次【Tab】键会自动补全。

在【Ctrl+E】【实例程序】中有关于多相机采集的案例【方法】【图像采集设备】中abs_multiple_cameras.hdev。可以查看多采集的案例。其中open_framegraber算子打开相机,并通过函数最后一个参数【句柄】来区分不同的相机。

在打开相机后,如果程序执行完,一定要关闭相机close_framegrabber。否则会报错。

多个相机,其实是每个相机轮流去拍摄图像。分先后轮流。

如果采用多线程的方式:在【方法】【并行处理】中

【Blob分析】实际上就是从图像中找到ROI。通常就是三个手法连起来用:二值化、形态学、特征选择。

在【打开灰度直方图】【打开特征直方图】旁边有【打开特征检测】和【打开轮廓线窗口】工具按钮,其中【打开特征检测】如下图:

region区域gray value灰度值xld轮廓线。三种手法。

在halcon中有一种机制:threshold之后,得到的区域默认是同一个区域,必须调用connection,将所有区域按照联通域拆分成不同的区域。拆分成不同的区域之后,才能打开特征直方图,对不同的区域region采用select_shape等方法,提取特征,将拆分后的区域按形状等特征提取出来。(有时,在connection之后还要加一个填充空洞fill_up

在halcon【变量窗口】【图像变量】中:如果有[ ]符号,代表有很多region区域。

在halcon菜单栏【函数】点击【管理函数】【用户接口】中,可以设置函数在程序框中的颜色。

在【图形窗口】中有一个【编辑ROI】小按钮,可以编辑ROI。在【ROI】工具中,可以通过各种形状来选择自己的ROI。先点击形状【绘制轴平行矩形】左键画图,右键释放画框。点击【插入代码】生成代码,生成一个区域。


在halcon中滤波算子有三种:2d_data_codes_minimize_noise.hdev

中值滤波去掉的是椒盐噪声:第58行:    median_image (Image, ImageMedian, 'circle', 3, 'continued'):

工作原理:用一个方框在图像上从左到右,从上到下的扫描:方框中的像素,按值排序,然后用中值作为方框中心元素的值。平均滤波就是这个方框中所有值得平均值作为中心区域的值。高斯滤波分为空间域和频域:是距离加权之后的平均值。

这篇关于(二)掰开了,揉碎了,说经典halcon中的那些算子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/815500

相关文章

HotSpot虚拟机的经典垃圾收集器

读《深入理解Java虚拟机》第三版笔记。 关系 Serial、ParNew、Parallel Scavenge、Parallel Old、Serial Old(MSC)、Concurrent Mark Sweep (CMS)、Garbage First(G1)收集器。 如图: 1、Serial 和 Serial Old 收集器 2、ParNew 收集器 3、Parallel Sc

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

嵌入式面试经典30问:二

1. 嵌入式系统中,如何选择合适的微控制器或微处理器? 在嵌入式系统中选择合适的微控制器(MCU)或微处理器(MPU)时,需要考虑多个因素以确保所选组件能够满足项目的具体需求。以下是一些关键步骤和考虑因素: 1.1 确定项目需求 性能要求:根据项目的复杂度、处理速度和数据吞吐量等要求,确定所需的处理器性能。功耗:评估系统的功耗需求,选择低功耗的MCU或MPU以延长电池寿命或减少能源消耗。成本

Leetcode面试经典150题-128.最长连续序列-递归版本另解

之前写过一篇这个题的,但是可能代码比较复杂,这回来个简洁版的,这个是递归版本 可以看看之前的版本,两个版本面试用哪个都保过 解法都在代码里,不懂就留言或者私信 class Solution {/**对于之前的解法,我现在提供一共更优的解,但是这种可能会比较难懂一些(思想方面)代码其实是很简洁的,总体思想如下:不需要排序直接把所有数放入map,map的key是当前数字,value是当前数开始的

力扣 739. 每日温度【经典单调栈题目】

1. 题目 理解题意: 1.1. 给一个温度集合, 要返回一个对应长度的结果集合, 这个结果集合里面的元素 i 是 当前 i 位置的元素的下一个更高温度的元素的位置和当前 i 位置的距离之差, 若是当前元素不存在下一个更高温度的元素, 则这个位置用0代替; 2. 思路 本题用单调栈来求解;单调栈就适用于来求当前元素左边或者右边第一个比当前元素大或者小的元素;【单调栈:让栈中的元素保持单调

接口自动化三大经典难题

目录 一、接口项目不生成token怎么解决关联问题 1. Session机制 2. 基于IP或设备ID的绑定 3. 使用OAuth或第三方认证 4. 利用隐式传递的参数 5. 基于时间戳的签名验证 二、接口测试中网络问题导致无法通过怎么办 1. 重试机制 2. 设置超时时间 3. 使用模拟数据 4. 网络问题的预检测 5. 日志记录与错误分析 6. 切换网络环境 7.

嵌入式面试经典30问:一

什么是嵌入式系统? 嵌入式系统是指嵌入到某个对象体系中的专用计算机系统,它负责执行特定的任务,具有专用性、隐蔽性、资源受限和可靠性要求高等特点。通常包括硬件和软件两部分,硬件以微处理器为核心,软件则负责控制和管理硬件资源,实现特定的应用功能。 嵌入式系统和普通计算机系统有什么区别? 嵌入式系统与普通计算机系统的主要区别在于目的、资源、性能和成本等方面。嵌入式系统通常针对特定应用设计,具有体积小

Leetcode面试经典150题-2.两数相加

解法都在代码里,不懂就留言或者私信 理论上提交这个就是最优解 字节考过不下20次,这个高居字节面试榜第9名 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) {

整理的经典面试题及各种库函数的自己实现

进程间通信方式 管道(有名管道,无名管道),共享内存,消息队列,信号量,socket通信 线程同步方式 临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问 互斥量:为协调共同对一个共享资源的单独访问而设计 信号量(PV操作):为控制一个具有有限数量用户资源而设计 事件:用来通知线程有一些事件已 进程和线程的区别 资源:进程是拥有资源的一个独立单位,线程是

性能测试经典案例解析——政务查询系统

各位好,我是  @道普云 一站式云测试SaaS平台。一个在软件测试道路上不断折腾十余年的萌新。 欢迎关注我的主页 @道普云 文章内容具有一定门槛,建议先赞再收藏慢慢学习,有不懂的问题欢迎私聊我。 希望这篇文章对想提高软件测试水平的你有所帮助。 政务查询系统的用户量相对来说是比较小的,但是它的复杂性和对实时性的要求是比较高的,我们以一个主要提供单位信息业务复杂查询功能的