halcon
文章平均质量分 57
machaoyu86
这个作者很懒,什么都没留下…
展开
-
图像的滤波
1.图像的平滑:图像平滑的主要目的是减少图像的噪声。(1)smooth_image(Image:ImageSmooth:Filter,Alpha:) 功能描述:使用递归滤波器对图像进行平滑(高斯滤波使用非递归滤波器) 参数: Image(输入参数):输入图像; ImageSmooth(输出参数):滤波后的图像;原创 2016-01-20 16:42:48 · 1053 阅读 · 0 评论 -
halcon学习备忘五(图像选择,剪切,obj循环,ocr识别)
1、在分割完轮廓线或者其他一些线条后,我们需要进行一些筛选来获得我们想要的曲线,我们可以通过以下的算子来进行(1).select_contours_xld( ) 可以通过该算子设定筛选标准,比如根据线的长度contour_length或者曲率curvature来直接进行选择 。(2).get_contour_global_attrib_xld( ) 通过该算子获得曲线的全局参数,转载 2016-01-06 17:05:26 · 1355 阅读 · 0 评论 -
halcon学习备忘四(Region的选择处理与信息的多样化显示)
1、Region的选择与处理通过threshold阈值分割以及在connection和select_shape完后,我们可以得到一些被选择出来的区域Region,接下来想要对这些Region逐个处理,以达到某些目的。那么我们如何逐个选择呢?方法很简单,就是先计数Region的个数,然后for循环遍历每个区域,在循环里面根据Index选择Region。例如:count_obj转载 2016-01-06 17:06:06 · 676 阅读 · 0 评论 -
Halcon学习备忘六(拟合圆的一种方法)
对于圆形区域,我们想拟合出它的圆形轮廓或者其他的圆,我们可以用如下的方法拟合出来:(1)、如果该区域是一个圆环区域的话,那就运行骨架算子skeleton得到圆环区域的骨架,然后用gen_contours_skeleton_xld生成骨架轮廓。如果该区域是圆形区域,那么可以用产生区域轮廓算子gen_contour_region_xld()产生圆形轮廓。(2)、有了轮廓后可以先用seg转载 2016-01-06 17:07:04 · 1597 阅读 · 0 评论 -
Halcon一些功能算子
Chapter 1 :Classification1.1 Gaussian-Mixture-Models1.add_sample_class_gmm功能:把一个训练样本添加到一个高斯混合模型的训练数据上。2.classify_class_gmm功能:通过一个高斯混合模型来计算一个特征向量的类。3. clear_all_class_gmm功能:清除所有高斯混合模型。4转载 2016-01-06 17:09:14 · 1881 阅读 · 0 评论 -
halcon自动全局阈值与动态阈值分割方法
自动全局阈值分割方法:1、统计直方图2、寻找出现频率最高的灰度值3、把比最高频率灰度值或者比它大或小一定灰度阶的灰度值作为阈值分割图像例:read_image(Image,'particle')gray_histo(Image,Image,AbsoluteHisto,RelativeHiso)PeakGray:=sort_index(Abso转载 2016-01-06 17:10:41 · 1795 阅读 · 0 评论 -
机器视觉中的blob分析基本概念
Blob分析(Blob Analysis)是对图像中相同像素的连通域进行分析,该连通域称为Blob。经二值化(Binary Thresholding)处理后的图像中色斑可认为是blob。Blob分析工具可以从背景中分离出目标,并可以计算出目标的数量、位置、形状、方向和大小,还可以提供相关斑点间的拓扑结构。在处理过程中不是对单个像素逐一分析,而是对图像的行进行操作。图像的每一行都用游程长度编码(RL转载 2016-01-06 17:11:45 · 885 阅读 · 0 评论 -
3.5.13其它函数
操作及功能 对应算子sort(t):升序排列 tuple_sortsort_index(t):将元组排序,并返回元组的索引 tuple_sort_indexinverse(t):将元组进行转置变换 tuple_inverseis_number(v):检测一个值是否是数字 tuple_is_numbernumb原创 2016-01-08 15:24:40 · 298 阅读 · 0 评论 -
仿射变换
1.仿射变换有:平移、旋转、缩放、斜切。2.要进行仿射变换,必须先获取变换矩阵。要获取变换矩阵,必须先获取特征点坐标、角度等信息,几何匹配和bolb是获取特征点的高效方法,除此之外还有其它方法,只要能稳定的求出特征点即可。3.仿射变换流程 (1.)获取特征点坐标、角度 (2.)计算仿射变换矩阵 (3.)对图像、区域、轮廓进行仿射变换4.根据特征点、角度计算仿射变原创 2016-04-18 22:24:02 · 20633 阅读 · 5 评论 -
三种方式实现显示模板轮廓
三种方式实现显示模板轮廓第一种方法:用 vector_angle_to_rigid算子计算仿射变换矩阵,然后对模板轮廓进行变换。在实际当中,进行仿射变换最经常、最简单的方法是使用算子vector_angle_to_rigid。第二种方法:定义仿射变换矩阵,然后逐个添加要进行的变换项,然后对模板轮廓进行变换。第三种方法:调用HDevelop封装的函数dev_display_shape原创 2016-04-19 21:31:42 · 5114 阅读 · 0 评论 -
halcon学习备忘三(数组的一些常用操作算子)
1、求数组元素的最大值tuple_max(Array,Max)2、求数组元素的最小值tuple_min(Array,Min)3、求数组元素的平均值tuple_mean(Array,Mean)4、求数组元素的绝对值tuple_abs(Array,Abs)5、两个数组相加tuple_add(Array1,Array2,Sum)转载 2016-01-06 17:03:42 · 730 阅读 · 0 评论 -
halcon学习备忘二(图像相减算子)
在我们编写halcon程序中可能常会用到图像相减算子sub_image,例如在做高斯高通滤波的时候,最后的结果是要用原图像减去滤波后的图像才能得到锐化图像。该算子的参数形式如下:sub_image(ImageMinuend , ImageSubtrahend : ImageSub : Mult , Add :)第一个参数是被减图像,第二个参数是减数图像,第三个参数是结果图像,第四个转载 2016-01-06 17:02:20 · 996 阅读 · 0 评论 -
halcon学习备忘一(循环读图、多窗口显图、读写硬盘里图)
一、循环读取硬盘中的图片学习halcon例程可以看到当我们需要循环读取硬盘中某个位置的图片进行处理时,而在for循环里面只写一句read_image(),那么只需要将图片命名格式统一成例如Image_01、Image_02这样的格式,再在read_image()里面加入约束格式就好了。例子:Path:='E:/Image_'for f:=1 to 2 by 1转载 2016-01-06 16:43:38 · 1105 阅读 · 0 评论 -
3.5.12数学函数
操作及功能 算子min(t):返回元组的最小元素 tuple_minmin2(t1,t2):计算两个元组对应元素的最小值 tuple_min2max(t):返回一个元组的最大元素 tuple_maxmax2(t1,t2):计算两个元组对应元素的最大值 tuple原创 2016-01-08 16:01:17 · 378 阅读 · 0 评论 -
3.5.8比较操作
操作及功能 算子t1t1>t2:大于 tuple_greatert1t1>=t2:大于等于 tuple_greater_equalt1=t2:相等 tuple_equalt1#t2:不相等 tuple_not_equal原创 2016-01-08 16:23:18 · 255 阅读 · 0 评论 -
3.5.2赋值运算
1.assign(Input,Result): 赋值运算表示为:Result:=Input2.insert(Input,Value,Index,Result):用于对元组元素进行赋值 参数说明:Input:执行插入操作的元组 Value:插入的新数值 Index:被插入的索引位置原创 2016-01-08 16:32:34 · 302 阅读 · 0 评论 -
3.5.3元组的基本操作
操作及功能 算子t:=[t1,t2]:连接元组 tuple_concati:=|t|:获取元组t的元素个数原创 2016-01-08 16:47:31 · 856 阅读 · 0 评论 -
灰度直方图
相关算子有:gray_histo、gen_region_histo、histo_to_thresh. (1,)gray_histo(Regions,Image:::AbsoluteHisto,RelativeHisto) 功能描述:计算区域内的灰度值分布(灰度直方图) 参数: Regions(输入参数):计算直方图的区域;原创 2016-01-12 15:44:53 · 4149 阅读 · 0 评论 -
灰度直方图使用实例
*读取图像read_image(Image,'clip')*产生直方图gray_histo(Image,Image,AbsoluteHisto, RelativeHisto)*产生直方图区域gen_region_histo(Region, RelativeHisto, 255, 255, 1)*根据直方图求分割阈值histo_to_thresh(RelativeHist原创 2016-01-12 15:55:59 · 3441 阅读 · 0 评论 -
灰度的线性变换
相关函数:scale_image、scale_image_max 1.scale_image(Image:ImageScale:Mult,Add:) 功能描述:对图像灰度值进行先行变换。 参数: Image(输入参数):输入(原始)图像; ImageScale(输出参数):变换后的结果图像; Mult(输入参数):系数;原创 2016-01-12 15:57:43 · 1473 阅读 · 0 评论 -
图像的点运算
1.灰度直方图:2.灰度的先行变换:3.直方图均衡化 算子:equ_histo_image(Image:ImageEquHisto) 参数: Image(输入参数):输入图像; ImageEquHisto(输出参数):均衡化后图像;4.图像反转处理5.图像的加法运算 算子:add_image(Image1,Image2:ImageResul原创 2016-01-12 17:00:23 · 579 阅读 · 0 评论 -
图像的几何变换
1.图像的旋转 算子:rotate_image(Image:ImageRotate:Phi,Interpolation) 功能描述:围绕图像中心旋转图像。 参数: Image(输入参数):输入图像; ImageRotate(输出参数):旋转后图像; Phi(输入参数):旋转角度(单位:角度); Interpolation(输入参数):插值算法原创 2016-01-13 15:50:12 · 644 阅读 · 0 评论 -
用几何定位实现平移
*******图像不变,平移ROIdev_set_draw('margin')**读取图像(模板图像)read_image(Image,'D:/halcon学习/image/模组/模组/1.bmp')**产生检测ROIgen_rectangle1(Rectangle,848,237,1001,941)**产生模板区域gen_circle(Circle,5原创 2016-04-19 22:02:08 · 1095 阅读 · 1 评论