在 Halcon 里面计算个数的算子有两个:1、count_obj ( Objects : : : Number ) 主要用法是计算objects 的个数。2、assign ( : : Input : Result ) 给控制变量分配新值例: NumBalls :=
这个例程是要检查图中焊接点,并获取焊接点的直径。处理过程:首先,分离比较明亮的区域,然后将找出来的结果,转换成最小的平行矩形,即获得了图像处理的ROI。 这里采用了阈值分割:将图像中的灰度值处于某一指定灰度值范围内全部点选到输出区域中。threshold (Bond, Bright, 100, 255)然后,在ROI区域内选择比较暗的区域,移除不适合的区域(利用形状,面积等参数),把物体抽出变成一个独立的物,找出圆形物体,并且排列物体即可。。程序如下:dev_close_window ()dev
Halcon中的区域连通算子( 区域连通算法,将图象被分割为区域 ): 区域生长算子regiongrowing(Image: Regions: Row, Column, Tolerance, MinSize: ) 函数作用:用区域生长实现图像分割 函数原理:如果相邻像素的灰度值差小于等于Tolerance,则被融为一个区域。因为矩形一般大于1个像素,所以常常在调用regiongrowing前会用大小至少为Row*Column的低通滤波器平滑一下。
assign : 对数据赋值,对数组的初始化。但不能对数组中的某一个值进行赋值。 举例:Tuple1 := [1,0,3,4,5,6,7,8,9] // 对数组进行初始化 Val := sin(1.2) + co
图像获取程序例1.1.set_system( : : SystemParameter, Value : )设置系统参数2.open_framegrabber ( : : Name, HorizontalResolution,VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn,Field, BitsPerChannel, ColorSpace, Generic, ExternalTrigger,CameraType,
第一步:打开标定助手。第二步:对描述文件进行修改具体:打开算子窗口,输入gen_caltab,进行描述文件修改。参数XNum和YNum为7行*7列的圆,Markdist为圆的直径,单位为米。DiameterRatio为圆的直径与两个相邻的圆之间的距离比。修改完之后,应用,输入。存放在一个文件下。之后将描述文件改成此描述文件。描述文件最右面靠近边框有个文件夹形状的图标。点击即可。第三步:根据单个的像元宽和高进行修改,该参数可在相机的自带文件中或官方数据中查到。这个值将影响焦距。第四步:标定,图像采
转载自:http://www.cnblogs.com/sleepwalker/p/3625449.html例程:detect_indent_fft.hdev说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步:首先,我们用高斯滤波器构造一个合适的滤波器(将原图通过高斯滤波器滤波);然后,将原图和构造的滤波器进行快速傅里叶变换;最后,利用形态学算子将缺陷表示在滤波后的图片上(在缺陷上画圈)。注:代码中绿色部分为个人理解和注释,其余为例程中原有代码
转载自:http://www.cnblogs.com/sleepwalker/p/3632266.html例程:class_overlap_svm.hdev说明:这个例程展示了如何用一个支持向量机来给一幅二维的图像进行分类。使用二维数据的原因是因为它可以很容易地联想成为区域和图像。本例程中使用了三个互相重叠的类(由二维平面三个不同颜色的像素点集组成)。三类不同颜色的像素点作为样本,将那些样本代入支持向量机进行训练。选取像素在二维平面的坐标作为特征向量,使支持向量机对这个二维特征区域进行分类。在结
转载自: https://www.cnblogs.com/sleepwalker/p/3707830.html 例程:classify_halogen_bulbs.hdev在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法。通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解。在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题。大致原理:一、准备阶段:描述样本1. 准备好两组卤素灯图像样本,好坏的各
MLP多层感知器其实是一种人工神经网络结构,属于非参数估计,可以用于解决分类和回归问题。如果使用“BP算法”也称为BP神经网络,是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(处理单元),可以解线性不可分问题。早前已经学习了感知器学习算法,主要通过对那些错分类的样本进行求和来表示对错分样本的惩罚,但明显的它是一个线性的判别函数;而感知器神经元(阈值逻