自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 C# 结构和类

类就是对象的抽象化概念,一个类就是一个对象集合的总称,通俗的来讲就是对象需要什么这个类就提供什么给对象,加入对象需要什么数据这个类就提供什么数据,对象需要什么功能这个类就提供什么功能。当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。类的声明定义新类的特征和成员。3. 一般来说结构体的定义要放在class的外面或class的里面,尽量不放在Main的里面。函数成员:执行代码,通常会模拟类所表示的现实世界事物的功能和操作(类体内的函数,方法)

2023-05-18 14:44:53 232

原创 C# 属性和方法

值传递: 值类型是方法默认的参数类型,采用的是值拷贝的方式。也就是说,如果使用的是值类型,则可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值。属性包括字符串各种信息和字符串有关联类型的命名成员,相同的是,语法相同,不同的是,属性不设置存储位置。属性的设置包括字符串的长度,字体的大小,窗口的焦点,用户的名字等。属性是通过属性类的声明定义的,属性类可以具有定位和命名参数。:公共的,在同一个命名空间下,任何类都可以访问,在不同的命名空间下,要访问的话,添加对应的命名空间,并添加引用即可。

2023-05-18 14:41:12 397

原创 C# 数组和集合

一旦集合中的元素都已经被访问到,整个表达式的值为 false,控制流程就转到 foreach 块后面的执行语句。一维数组在数组中最常用,即将一组值存放到一个数组中,并为其定义一个名称,通过数组中元素的位置来存取值。从上面定义的语法可以看出,它与一维数组的定义非常类似,每多一个维度则定义时的[]中增加一个“,”。遍历集合,首先要能够获取到集合中的每一个元素,这个通过get(int index)方法实现。in 右边的项是集合名,in 左边的项是变量名,用来存放该集合中的每个元素。

2023-05-18 14:38:43 322

原创 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 101

原创 C# 字符与字符串的增删改查

2) string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。(1) String.Trim(char myChar):分别从字符串的前面和后面移除能匹配字符myChar字符的字符,直到遍历的第一个不匹配myChar字符集的字符,停止遍历移除操作;

2023-05-17 16:22:56 541

原创 C# 表达式与运算符

&——逻辑与运算符,当两个表达式中包含逻辑假false时,返回逻辑假false,如均为逻辑真true,则返回逻辑真true。由算术运算符(+,-,*,/,%)连接起来的式子叫做算术表达式。——逻辑非运算符,对某个表达式取反,当其为逻辑真true时,返回逻辑假false,否则返回逻辑真true。||——逻辑或运算符,当两个表达式中包含逻辑真true时返回逻辑真true,否则返回逻辑假false。|=——按位或赋值,先对运算符左侧的操作数进行按位或运算,再将所得的结果赋予该操作数。

2023-05-17 16:18:17 189

原创 C#变量与常量

一个变量只不过是提供程序操作的存储区的名字,在C#中每个变量都有一个特定的类型,类型决定了变量的大小和布局,范围内的值可以存储在内存中,可以对变量进行一系列的操作。protected   受保护的  类成员的修饰符      在类的内部或者在派生类中访问,不管该类和派生类是不是在同一程序集中。但是int是可以表示负数的,拿了一个比特做符号,然后因为电脑中计数是从0开始数的,所以最大值要减1.那么他的计算方式和上面一样。那肯定会遇到int不够用的情况,21亿还是勉强能数出来的,我们需要更大的数据。

2023-05-16 15:45:35 61

原创 C# 程序编写规范

在实际开发中我们会自定义许多的通用类,以便提高开发效率,而这样的类,我们一般在其类名后面加上 “Tool”(工具)或“Utils”(实用类)或“Helper”(助手) 结尾;c) 每次在写完代码保存之前,按一次 Ctrl + E + D 快捷键( C#开发环境,如果不是请自行设定 IDE 的开发环境 ),编辑器会自动格式化代码,一是代码美观,二是易于阅读代码。枚举类特殊的类,我们可以在自定义的枚举类名称前加大写字母“E”,取自于 enum 关键字,例如:ELogType 日志类型枚举类;

2023-05-16 15:40:11 188

原创 C#程序结构

a) 当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。c) 命名空间类似于文件夹,不同文件夹下的文件可以同名,同理不同命名空间下的类也可以同名。3. 简单语句由一个表达式和后面跟着的分号组成,块是由一对大括号括起来的语句序列。b) 类的定义是以关键字 class 开始,后跟类的名称。3. 上下文关键字仅在特定的语言结构中充当关键字的标识符,可以在代码的其他部分被用作标识符。

2023-05-16 15:38:02 41

原创 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 52

原创 Halcon模板匹配之形状匹配,缩放比匹配,相关性匹配

是什么是模板匹配?模板就是一副已知的小图像,而模板匹配就是在一副大图像中搜寻目标,已知该图中有要找的目标,且该目标同模板有相同的尺寸、方向和图像元素,通过一定的算法可以在图中找到目标,确定其坐标位置模板匹配的参数介绍:1. 图像金字塔:Numberlever2. 起始角度:AngleStart3. 角度范围:AngleExtern4. 角度步长:AngleStep5. 优化算法:Optimization6. 极性:Metric7. 对比度:Contrast。

2023-05-07 11:57:16 3832

原创 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 1740

原创 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 4345

原创 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 3031

原创 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 1255

原创 Halcon中打开相机相机示例

1.用 halcon 的采集助手抓图。

2023-04-27 18:11:16 636

原创 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 2832

原创 Halcon图像处理基础 三种图像数据类型

轮廓是halcon中的一个数据结构,前面介绍的图像二值化出来的区域是以像素为单位的,该区域边缘是锯齿状,精度以像素为单位,在工业中我们往往需要得到比像素精度还要高的边缘,这时就需要提取亚像素数据,亚像素数据可以通过亚像素阈值分割或亚像素边缘提取算子提取来得到,这些处理结果是可以用亚像素轮廓来表示的。灰度图像:黑白色组成的图像,组成图像的每个像素的值用灰度值表示,范围为0-255;描述像素点,区域就可以用0或1来描述像素点是否被选中,即我们常说的二值化,由被选中的像素点所组成的图像就叫区域,区域是个集合。

2023-04-24 18:20:31 387

原创 图像创建相关函数

示例:get_image_size (Image, Width, Height)示例:get_image_type (Image, Type)Image(输入对象):输入的图像变量。(输出控制):输出获取的图像宽。(输出控制):输出获取的图像高。(输入对象):输入的图像变量。(输出对象):输出的图像类型。

2023-04-24 18:20:21 93

原创 图像读取储存相关函数

示例:read_image (Image, 'C:/Users/Administrator/Pictures/Camera Roll/100.jpeg')'C:/Users/Administrator/Pictures/Camera Roll/100.jpeg'(控制参数输入):输入读取图片的路径。示例:write_image (Image, 'jpeg', 0, '100')'100'(输入控制参数3):输入存储图像的文件名称。'jpeg'(输入控制参数1):输入存储图像的格式。

2023-04-24 18:20:02 135

原创 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 3889

原创 【无标题】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 1092

原创 图像转换相关函数

示例:trans_from_rgb(ImageR, ImageG, ImageB, ImageResultH, ImageResultS, ImageResultV, 'hsv')示例:rgb3_to_gray(ImageR,ImageG,ImageB,GrayImage)三通道图像转为灰度图像方法一rgb3_to_gray。三通道图像转为灰度图像方法二rgb1_to_gray。三通道图像转为HSV图像trans_from_rgb。(输出对象):输出R红色通道图像。(输出对象):输出B蓝色通道图像。

2023-04-21 08:59:03 346

原创 Halcon图像分割相关算子

'max_separability'(输入控制参数分割方法):包含’max_separability’:最大限度的可分性, ‘smooth_histo’:直方图平滑。示例:binary_threshold (Image, Region1, 'max_separability', 'dark', UsedThreshold)示例:dyn_threshold (GrayImage, ImageMean, RegionDynThresh, 10, 'light')GrayImage(输入对象):输入灰度图像。

2023-04-21 08:59:02 242

原创 Halcon图像中的字体设定 字体颜色设定 显示样式设定 信息显示

示例:disp_message (200000, '第一种显示设定图像中的信息显示', 'Image', 10, 10, 'black', 'true')示例:set_display_font (200000, 24, 'mono', 'true', 'false')'第二种显示设定图像中的信息显示'(输入参数2):输入需要显示的信息。'第一种显示设定图像中的信息显示'(输入参数2):输入显示内容。'Image'(输入参数3):输入在哪张图像上显示。'black'(输入参数6):输入显示字体的颜色。

2023-04-21 08:58:54 3080

原创 Halcon区域集合运算及变换

示例:sort_region (SelectedRegions, SortedRegions, 'first_point', 'true', 'column')示例:shape_trans (ObjectSelected1, RegionTrans, 'rectangle1')ObjectSelected1(输入对象):输入一个区域对象。RegionTrans(输出对象):输出变换后的区域对象。SortedRegions(输入对象):输入多个区域对象。RegionTrans(输入对象):输入一个区域对象。

2023-04-21 08:58:53 1394

原创 Halcon形态学处理初级

RegionOpening(输出对象):输出开运算后的区域对象。RegionDilation(输出对象):输出膨胀后的区域对象。RegionErosion(输出对象):输出腐蚀后的区域对象。ObjectSelected1(输入对象):输入区域对象。ObjectSelected1(输入对象):输入区域对象。ObjectSelected1(输入对象):输入区域对象。ObjectSelected1(输入对象):输入区域对象。SortedRegions(输入对象):输入区域对象。

2023-04-21 08:58:39 562

原创 Halcon特征提取

示例:select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 201841, 990793)ObjectSelected1(输入对象):输入需要测量的区域对象。SelectedRegions(输出对象):输出筛选后的目标区域。ObjectSelected1(输入对象):输入需要测量的区域。ObjectSelected1(输入对象):输入一个区域对象。ObjectSelected1(输入对象):输入一个区域对象。

2023-04-21 08:58:18 589

原创 Halcon保存区域,读取区域

示例:read_region (Region2, 'region.hobj')示例:write_region (Rectangle3, 'region.hobj')'region.hobj(输入参数):输入的读取路径。Region2(输出对象):输出读取的区域图像。注:相对路径是指相对于本文件存储路径下的存储路径,绝对路径是详细的存储路径。'region.hobj'(输入控制参数):输入的存储名称格式。Rectangle3(输入对象):输入的图像对象。

2023-04-21 08:58:14 874

原创 Halcon画 ROI 区域及区域生成

示例:gen_circle (Circle, Row3, Column3, Radius1)200000(输入参数):输入窗口句柄。Circle(输出对象):输出一个元的2区域对象。Column3(输入参数):输入中心点列坐标。Column3(输出参数):输出中心点列坐标。Radius1(输入参数):输入圆的半径。Radius1(输出参数):输出圆的半径。Row3(输入参数):输入中心点行坐标。Row3(输出参数):输出中心点行坐标。

2023-04-21 08:58:09 490

原创 Halcon生成空对象,向空对象中添加对象

示例:concat_obj (Rectangle2, Rectangle3, ObjectsConcat)ObjectsConcat(输出对象):输出整合的对象。示例:gen_empty_region (EmptyRegion)EmptyRegion(输出对象):输出一个空区域。EmptyObject(输出对象):输出一个空对象。示例:gen_empty_obj (EmptyObject)+Rectangle2(输入对象):输入第一个对象。Rectangle3(输入对象):输入第二个对象。

2023-04-21 08:57:49 1419

原创 Halcon区域间距离

示例:distance_rr_min (ROI_0, ROI_1, MinDistance, Row15, Column15, Row24, Column24)示例:distance_lr (RegionLines1, 150, 1750, 300, 2000, DistanceMin1, DistanceMax1)示例:distance_pl (170, 950, 50, 50, 990, 990, Distance1)Row15(输出参数2):输出区域一离区域二最近的点位行坐标。

2023-04-21 08:57:22 1325

原创 Halcon图像的 BLOB 分析处理几何变换 &刚性仿射变换

'nearest_neighbor'(输入参数2):输入是否使用插值进行转换。Column7(输入参数5):输入需要仿射变换后区域中心点列坐标。Column7(输入参数2):输入需要仿射变换区域中心点列坐标。0(输入参数6):输入需要仿射变换后区域相对于水平线的角度值。Row7(输入参数4):输入需要仿射变换后区域中心点行坐标。Row7(输入参数1):输入需要仿射变换区域中心点行坐标。HomMat2D1(输入参数1):输入矩阵参数。HomMat2D1(输入参数):输入矩阵参数。

2023-04-20 11:49:14 179

原创 Halcon图像的一维码二维码识别

一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN 码、39 码、 交叉 25 码、UPC 码、128 码、93 码,ISBN 码,及 Codabar (库德巴码)等。示例:create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)示例:create_bar_code_model ([], [], BarCodeHandle)示例:clear_data_code_2d_model (DataCodeHandle)

2023-04-20 11:48:20 619

原创 Halcon图像处理的思维

观察图像->确定目标区域->去除不相关的干扰->缩小目标范围->找到目标 缩小目标区域时保证其稳定性 不被变换的图像干扰 算子只是工具 会使用即可 不必追究根底 研究算子是算法工程师的活 我们捡现成的就行 任何工具只有用的多了才会熟练 正所谓熟练生巧 唯熟尔 关键就是要多练习 切记勿眼高手低 想要达到目的从来就不是只有一条路 同样的想要找到目标不一定非得用老师的方法 自己找到的方法才是自己的经验

2023-04-19 11:57:51 63

原创 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 686

原创 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 552

原创 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 476

原创 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 308

原创 Halcon转换相关算子

示例:tuple_deg (Phi5, Deg)Phi5(输入控制参数):输入弧度。Deg(输出控制参数):输出角度。示例:tuple_rad (Deg, Rad)Deg(输入控制参数):输入角度。Rad(输出控制参数):输出弧度。弧度转角度:tuple_deg。

2023-04-19 11:53:54 872

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除