Halcon算子基础
文章平均质量分 62
Halcon算子基础学习及示例
猴子要偷桃
这个作者很懒,什么都没留下…
展开
-
C# 结构和类
类就是对象的抽象化概念,一个类就是一个对象集合的总称,通俗的来讲就是对象需要什么这个类就提供什么给对象,加入对象需要什么数据这个类就提供什么数据,对象需要什么功能这个类就提供什么功能。当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。类的声明定义新类的特征和成员。3. 一般来说结构体的定义要放在class的外面或class的里面,尽量不放在Main的里面。函数成员:执行代码,通常会模拟类所表示的现实世界事物的功能和操作(类体内的函数,方法)原创 2023-05-18 14:44:53 · 219 阅读 · 0 评论 -
C# 属性和方法
值传递: 值类型是方法默认的参数类型,采用的是值拷贝的方式。也就是说,如果使用的是值类型,则可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。属性包括字符串各种信息和字符串有关联类型的命名成员,相同的是,语法相同,不同的是,属性不设置存储位置。属性的设置包括字符串的长度,字体的大小,窗口的焦点,用户的名字等。属性是通过属性类的声明定义的,属性类可以具有定位和命名参数。:公共的,在同一个命名空间下,任何类都可以访问,在不同的命名空间下,要访问的话,添加对应的命名空间,并添加引用即可。原创 2023-05-18 14:41:12 · 373 阅读 · 0 评论 -
C# 数组和集合
一旦集合中的元素都已经被访问到,整个表达式的值为 false,控制流程就转到 foreach 块后面的执行语句。一维数组在数组中最常用,即将一组值存放到一个数组中,并为其定义一个名称,通过数组中元素的位置来存取值。从上面定义的语法可以看出,它与一维数组的定义非常类似,每多一个维度则定义时的[]中增加一个“,”。遍历集合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现。in 右边的项是集合名,in 左边的项是变量名,用来存放该集合中的每个元素。原创 2023-05-18 14:38:43 · 308 阅读 · 0 评论 -
C# 流程控制语句
forinti = 0;i < 10;i++)if(i == 5)continue;elseif(i == 8)MessageBox.Show(今天是晴天"break;MessageBox.Show("i=:"forinti = 0;i < 3;i++)switch(i)case1:MessageBox.Show(今天是阴天"break;case2:MessageBox.Show(今天下大雨"原创 2023-05-18 14:36:50 · 96 阅读 · 0 评论 -
C# 字符与字符串的增删改查
2) string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。(1) String.Trim(char myChar):分别从字符串的前面和后面移除能匹配字符myChar字符的字符,直到遍历的第一个不匹配myChar字符集的字符,停止遍历移除操作;原创 2023-05-17 16:22:56 · 494 阅读 · 0 评论 -
C# 表达式与运算符
&——逻辑与运算符,当两个表达式中包含逻辑假false时,返回逻辑假false,如均为逻辑真true,则返回逻辑真true。由算术运算符(+,-,*,/,%)连接起来的式子叫做算术表达式。——逻辑非运算符,对某个表达式取反,当其为逻辑真true时,返回逻辑假false,否则返回逻辑真true。||——逻辑或运算符,当两个表达式中包含逻辑真true时返回逻辑真true,否则返回逻辑假false。|=——按位或赋值,先对运算符左侧的操作数进行按位或运算,再将所得的结果赋予该操作数。原创 2023-05-17 16:18:17 · 176 阅读 · 0 评论 -
C#变量与常量
一个变量只不过是提供程序操作的存储区的名字,在C#中每个变量都有一个特定的类型,类型决定了变量的大小和布局,范围内的值可以存储在内存中,可以对变量进行一系列的操作。protected 受保护的 类成员的修饰符 在类的内部或者在派生类中访问,不管该类和派生类是不是在同一程序集中。但是int是可以表示负数的,拿了一个比特做符号,然后因为电脑中计数是从0开始数的,所以最大值要减1.那么他的计算方式和上面一样。那肯定会遇到int不够用的情况,21亿还是勉强能数出来的,我们需要更大的数据。原创 2023-05-16 15:45:35 · 53 阅读 · 0 评论 -
C# 程序编写规范
在实际开发中我们会自定义许多的通用类,以便提高开发效率,而这样的类,我们一般在其类名后面加上 “Tool”(工具)或“Utils”(实用类)或“Helper”(助手) 结尾;c) 每次在写完代码保存之前,按一次 Ctrl + E + D 快捷键( C#开发环境,如果不是请自行设定 IDE 的开发环境 ),编辑器会自动格式化代码,一是代码美观,二是易于阅读代码。枚举类特殊的类,我们可以在自定义的枚举类名称前加大写字母“E”,取自于 enum 关键字,例如:ELogType 日志类型枚举类;原创 2023-05-16 15:40:11 · 183 阅读 · 0 评论 -
C#程序结构
a) 当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。c) 命名空间类似于文件夹,不同文件夹下的文件可以同名,同理不同命名空间下的类也可以同名。3. 简单语句由一个表达式和后面跟着的分号组成,块是由一对大括号括起来的语句序列。b) 类的定义是以关键字 class 开始,后跟类的名称。3. 上下文关键字仅在特定的语言结构中充当关键字的标识符,可以在代码的其他部分被用作标识符。原创 2023-05-16 15:38:02 · 36 阅读 · 0 评论 -
C# 简介,环境搭建,C#变量与常量
c) 安装过程中还是会报 “安装包丢失或损坏“ 错误,这时候把 ”提供搜索包的位置“ 改成 D:\vs2015_install\cn_visual_studio_community_2015_x86_dvd_6847368\packages,也就是我们解压 iso 所到的文件夹的packages 目录,在这个目录下有包可以提供。a) 解压完之后接进入 vs2015_install ,找到 vs_community.exe ,点击 vs_community.exe 开始安装。c) 为什么要学习C#?原创 2023-05-16 15:33:18 · 48 阅读 · 0 评论 -
Halcon模板匹配之形状匹配,缩放比匹配,相关性匹配
是什么是模板匹配?模板就是一副已知的小图像,而模板匹配就是在一副大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像元素,通过一定的算法可以在图中找到目标,确定其坐标位置模板匹配的参数介绍:1. 图像金字塔:Numberlever2. 起始角度:AngleStart3. 角度范围:AngleExtern4. 角度步长:AngleStep5. 优化算法:Optimization6. 极性:Metric7. 对比度:Contrast。原创 2023-05-07 11:57:16 · 3714 阅读 · 0 评论 -
Halcon XLD 轮廓操作,轮廓交集补集
算子:write_contour_xld_arc_info(Contours : : FileName : )算子:read_contour_xld_arc_info( : Contours : FileName : )示例:write_contour_xld_arc_info (Contours4, '119')示例:read_contour_xld_arc_info (Contours4, '112')保存轮廓:将轮廓保存为 DXF 文件 write_contour_xld_dxf。原创 2023-05-02 13:49:29 · 1536 阅读 · 0 评论 -
Halcon轮廓的分割,合并及圆&矩形&线拟合
示例:fit_circle_contour_xld (Edges, 'algebraic', -1, 0, 0, 3, 2, Row20, Column20, Radius5, StartPhi1, EndPhi1, PointOrder3)示例:fit_rectangle2_contour_xld (RectangleEdges, 'tukey', -1, 0, 0, 3, 2, Row, Column, Phi, Length1, Length2, PointOrder)原创 2023-05-01 16:28:00 · 4079 阅读 · 0 评论 -
Halcon XLD 生成提取&测量及特征筛选
算子:gen_circle_contour_xld( : ContCircle : Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution : )示例:gen_circle_contour_xld (ContCircle1, 500, 500, 150, 0, 6.28318, 'positive', 1)示例:gen_arrow_contour_xld (Arrow, 500, 500, 450, 450, 20, 20)原创 2023-04-28 11:57:30 · 2876 阅读 · 0 评论 -
Halcon相机标定及畸变矫正
CameraParameters :=['area_scan_division',0.0329654,-636.32,3.66154e-006,3.7e-006,-142.019,404.59,1280,960] 外参。示例:image_points_to_world_plane (CameraParameters, CameraPose, Row1, Column1, 'mm', X1, Y1)示例:map_image(Image, Map, ImageMapped)原创 2023-04-27 18:16:14 · 1168 阅读 · 0 评论 -
Halcon中打开相机相机示例
1.用 halcon 的采集助手抓图。原创 2023-04-27 18:11:16 · 603 阅读 · 0 评论 -
Halcon图像灰度值运算&图像截取及合并&灰度特征值介绍
获取灰度直方图:gray_histo算子:gray_histo(Regions, Image : : : AbsoluteHisto, RelativeHisto)示例:gray_histo (Region6, Image1, AbsoluteHisto, RelativeHisto)Region6(输入对象):输入二值化区域Image1(输出对象):输入灰度图像AbsoluteHisto(输出控制参数1):输出在该区域面积内对应灰度值出现的频率百分比。原创 2023-04-25 11:57:31 · 2711 阅读 · 0 评论 -
Halcon图像的 OCR 识别&训练字符
算子:create_ocr_class_mlp( : : WidthCharacter, HeightCharacter, Interpolation, Features, Characters, NumHidden, Preprocessing, NumComponents, RandSeed :OCRHandle)示例:create_ocr_class_mlp (8, 10, 'constant', 'default', chans, 80, 'none', 10, 42, OCRHandle)原创 2023-04-24 12:00:07 · 3625 阅读 · 0 评论 -
【无标题】Halcon图像滤波&中值滤波&&高斯滤波&图像加减
示例:min_max_gray (ROI_1_0, Image2, 0, Min, Max, Range)15(输入控制参数1):数值越大效果越明显,一般数值为基数。5(输入控制参数3):数值越大效果越明显,一般数值为基数。3(输入控制参数1):均值矩阵的宽,数值通常为奇数,数值越大效果越明显。3(输入控制参数1):均值矩阵的高,数值通常为奇数,数值越大效果越明显。5(输入控制参数2):中值矩阵的高,数值通常为奇数,数值越大效果越明显。(输入控制参数1):中值矩阵的宽,数值通常为奇数,数值越大效果越明显。原创 2023-04-23 15:59:52 · 1057 阅读 · 0 评论 -
什么是机器视觉?
机器视觉是计算机科学的一个重要分支,它综合了光学,机械,电子,计算机软硬件的方面的各种技术,涉及计算机,图像处理,模式识别,人工智能,信号处理,光机电一体化等多个领域。其中图像处理,模式识别,信号处理,人工智能又涉及到很多的基础学科数学,像离散数学,图论,微分几何,概率和统计,线性代数,数字信号分析,神经网络等等诸多 的数学知识。机器视觉就是用机器替代人眼来完成检测和判断,常用于大批量生产过程中的产品质量,检测,不合适人的危险环境和人眼视觉难以满足的场合。什么是Halcon?原创 2023-04-19 11:47:24 · 88 阅读 · 1 评论 -
Halcon软件安装
1. 下载Halcon17版本到到本地。原创 2023-04-19 11:50:59 · 704 阅读 · 1 评论 -
Halcon界面简介
界面分为四大块图像采集助手:与相机连接,设定相机参数,采集图像 标定助手:九点标定或是其它的标定,生成标定文件及内参外参,可以将像素单位转换为长度单位 模板匹配助手:画取你想寻找的图像,设定参数,可以寻找到与你画取相似的图所有图像 图像测量助手:在你需要测量的图像上画ROI,自动测量出数据 字符识别助手:对画取区域中的图形进行测量原创 2023-04-19 11:52:04 · 182 阅读 · 1 评论 -
Halcon 算子
算子结构中的四种参数被三个冒号分割开,一个算子中可能这四种参数不会都存在,但是参数的次序不会变化,算子中输入参数不会被修改,只会被算子使用,算子只能修改输出的参数。算子就是由Halcon开发团队对图像处理的算法进行封装为方法由我们使用,作用就是对图像数据进行处理。这个算子在被调用时需要输入一个图像参数和两个控制参数才能输出一个图像参数。算子名称(图像输入参数,图像输出参数,控制输入参数,控制输出参数)原创 2023-04-19 11:53:17 · 167 阅读 · 1 评论 -
Halcon图像处理的思维
观察图像->确定目标区域->去除不相关的干扰->缩小目标范围->找到目标 缩小目标区域时保证其稳定性 不被变换的图像干扰 算子只是工具 会使用即可 不必追究根底 研究算子是算法工程师的活 我们捡现成的就行 任何工具只有用的多了才会熟练 正所谓熟练生巧 唯熟尔 关键就是要多练习 切记勿眼高手低 想要达到目的从来就不是只有一条路 同样的想要找到目标不一定非得用老师的方法 自己找到的方法才是自己的经验原创 2023-04-19 11:57:51 · 58 阅读 · 0 评论 -
Halcon 小数点保留 转string and 求元素个数 合并元素
示例:tuple_string (num10, '.2f', String)'.2f'(输入控制参数2):输入保留几位小数 2f两位 3f三位…String(输出控制参数):输出保留小数字符串。num10(输入控制参数1):输入数值。2.5 小数点保留 转string。2.7 合并元素数据。原创 2023-04-19 11:56:10 · 433 阅读 · 0 评论 -
Halcon 条件判断
disp_message (200000, n1[0], 'window', 12, 12, 'black', 'true') //执行的语句。disp_message (200000, n1[1], 'window', 12, 12, 'black', 'true') //执行的语句。for Index3 := 0 to 10 by 1 //Index3初始值为0需要加到10就退出循环 每执行一次循环Index3加1。f:=f+1 //f加1后重新赋值给b 执行的语句。原创 2023-04-19 11:57:21 · 611 阅读 · 0 评论 -
Halcon 数据类型
'扩视','机器','视觉':多个字符串组成字符串数组,需要用顿号隔开,并且每个字符串需要用单引号引起来。if (n>10) //判断如果n>10就显示信息否则就不显示信息 n>10结果为True。[1,2,3,4,5,6,7,8,9]:数字用顿号隔开即可。既可以表示的类型有int,double、float、string,既可以表示单个值;'扩视机器视觉':字符串需要用英文的单引号引起来表示。可以是数组,数组遍历时需要有下标,如:变量名称[下标]str:=tuple1[0]结果为:'扩视'原创 2023-04-19 11:54:45 · 271 阅读 · 0 评论 -
halcon 循环
for Index3 := 0 to 10 by 1 //Index3初始值为0需要加到10就退出循环 每执行一次循环Index3加1。f:=f+1 //f加1后重新赋值给b 执行的语句。while (n>10) //判断如果条件成立就一直执行 里面的语句。b:=b+1 //b加1后重新赋值给b。b:=0 //初始化值。f:=0 //初始化值。原创 2023-04-19 11:56:33 · 498 阅读 · 0 评论 -
Halcon转换相关算子
示例:tuple_deg (Phi5, Deg)Phi5(输入控制参数):输入弧度。Deg(输出控制参数):输出角度。示例:tuple_rad (Deg, Rad)Deg(输入控制参数):输入角度。Rad(输出控制参数):输出弧度。弧度转角度:tuple_deg。原创 2023-04-19 11:53:54 · 760 阅读 · 0 评论