2018-07-13 13:57:52
一,基本的图像通道知识在图像处理中有一个很重要的概念叫图像通道,在RGB色彩模式下就是指那单独的红色、绿色、蓝色部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。 一幅完整的图像,红色绿色蓝色三个通道缺一不可。即使图像中看起来没有蓝色,只能说蓝色光的亮度均为0,但不能说没有蓝色通道存在。 “存在、亮度为零”和“不存在”是两个不同的概念。...
2018-07-13 13:20:51
ROI (Region of Interest),感兴趣区域。顾名思义,就是你主要想处理的区域。Halcon中处理的对象分为三类,分别是图像(image),区域(region),XLD(extended line description)(主要用在亚像素边缘的提取)。所以从这里可以知道,ROI的作用,其一是加快程序处理速度,原因在于,是程序处理只需处理ROI,其他区域直接跳过。其二,在图像匹配中...
2018-07-12 17:32:21
一、 实验目的: 在虚拟机下NAT模式下通过Wireshark抓包,分析QQ的传输模式。了解QQ在传输信息过程中用到的协议。分析在Nat模式下,信息传输的穿透性。二、 实验环境: Win7 专业版32位(在虚拟机里面)。 Win7 旗舰版64位(物理机) QQ版本:TM2013 Wireshark三、 实验内容:1、 QQ登录 1)、UDP登录 在虚拟机的win7打开QQ面板,设置登...
2018-07-12 14:05:59
dev_get_preferences和dev_set_preferences经常一起使用。dev_get_preferences为查询HDevelop参数。'graphics_window_context_menu':Returns whether a right click into the graphics window opens a context menu or not...
2018-07-12 14:03:44
halcon中的选择语句的用法。作者:骑蚂蚁上高速MATLAB提供三种选择结构,分别是if语句、switch语句和try语句。1.if语句在MATLAB中,if语句有3种格式。(1)单分支if语句:if 条件语句组end当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。(2)双分支if语句:if 条件语句组1else语句组2end当条件成...
2018-07-12 14:02:48
30*30 规格的标定板的规格 黑色圆点行数: 7 黑色圆点列数: 7 外边框长度: 30mm*30mm 内边框长度: 28.125mm*28.125mm 即:黑色边框线宽为一个圆点半径(0.9375) 黑色圆点半径: 0.9375mm 圆点中心间距: 3.75mm 裁剪宽度: 30.75mm*30.75mm 即:由黑色边框向外延伸0.375...
2018-07-12 13:59:52
上一节遇到函数调用的问题。本节将学习函数调用。也就是创建新的过程以及调用。创建新的过程有以下几种方法:第一种:第二种创建完过程之后,就可以编辑新的过程了。包括名称,参数设置等等。设置完成后,应用,确定。最后编辑完main函数后记得保存。...
2018-07-12 13:58:01
* This program compares the result of different operators
* which detect points of interest
*
dev_update_off ()
Dark := 100
Background := 175
Light := 250
Angle := rad(45)
Size := 3
create_t...
2018-07-12 13:53:12
1、Halcon的自我描述Program LogicØ Each program consists of a sequence of HALCON operatorsØ The program can be structured into proceduresØ The sequence can be extended by using control operators like if, for...
2018-07-12 13:50:50
摄像机标定程序:注意:E:/calibration_image :为标定图像文件路径 'E:/calibration_description/caltab_123mm.descr:为标定描述文件路径*作者:骑蚂蚁上高速*程序开始list_files ('E:/calibration_image', 'files', ImageFiles)TmpCt...
2018-07-12 13:49:26
1.read_cam_par( : : CamParFile : CameraParam)从文件夹中读取相机的内参数。2.disp_caltab( : : WindowHandle, CalTabDescrFile, CameraParam, CaltabPose, ScaleFac : )利用相机内外参数,把标定板模型投影到图像平面,显示标定点和连接线,X,Y轴也被显示出来。3.vector_t...
2018-07-12 13:48:38
在HALCON所有算子中,变量皆是如上格式,即:图像输入:图像输出:控制输入:控制输出,其中四个参数任意一个可以为空。控制输入量可以是变量、常量、表达式,控制输出以及图像输入和输入必须是变量,以存入算子计算结果中。1.caltab_points:从标定板中读取marks中心坐标,该坐标值是标定板坐标系统里的坐标值,该坐标系统以标定板为参照,向右为X正,下为Y正,垂直标定板向下为Z正。该算子控制输出...
2018-07-12 13:48:01
Halcon标定文件的生成,需要有以下几个步骤:1.创建一个标定数据模板,由create_calib_data算来完成。2.指定相机的类型,初始化相机内部参数,由set_calib_data_cam_param算子来完成。3.指定标定板的描述文件,由set_calib_data_calib_object算子完成。4.收集观察数据,有算子set_calib_data_observ_points完成。...
2018-07-12 13:47:16
何为机器视觉相机标定? 简单来说,就是复原相机模型的3D空间至2D空间的一一对应关系。标定的作用其一就是为了求取畸变系数(因为经过镜头等成像后,或多或少都有畸变),其二是为了得到空间坐标系和图像坐标系的对应关系。 确认光学系统的性能,复原相机模型的3D空间至2D空间的一一对应关系。标定的作用其一就是为了求取畸变系数(因为经过镜头等成像后,或多或少都有畸变),其二是为了得到空间坐标系和图...
2018-07-12 13:45:26
的图形绘制。同时学习一下 gen_rectangle1 和 gen_rectangle2 的两个算子之间的区别。程序如下:dev_update_off ()Dark := 100Background := 175Light := 250gen_image_const (Image, 'byte', 256, 280)scale_image (Image, Image, 1, Bac...
2018-07-12 13:37:25
边缘检测的定义 :使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。边缘 是指周围像素灰度有阶跃变化或屋顶等变化的那些像素的集合。图像的边缘对应着图像灰度的不连续性。显然图像的边缘很少是从一个灰度跳到另一个灰度这样的理想状况。真实图像的边缘通常都具有有限的宽度呈现出陡峭的斜坡状。边缘的锐利程度由图像灰度的梯度决定。梯度是指灰度变化的最快的方向和数量。常见的边缘点有三种...
2018-07-12 13:32:24
HALCON 有两种基本的数据型态 : 图像数据 (iconic ,例如image, region和XLD contours) 以及控制数据 ( control ,例如 变量,整数,字符串, handle 等等 ) 。所有运算子的参数都是以相同的方式排列:输入图像,输出图像,输入控制,输出控制。 当然,并非所有的运算子都具有上列四类参数,不过参数排列的次序依旧相同。例如:threshold(Im...
2018-07-12 13:30:48
1.sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : )对两幅图像做减法 g' := (g1 - g2) * Mult + Add程序如下: read_image (Scene00, 'autobahn/scene_00')read_image (Scene01, 'autobahn...
2018-07-12 13:29:57
1.open_file( : : FileName, FileType : FileHandle)FileType:'output':创建文本‘append':在原有的文本基础上写入该文件'input':打开文件2.fwrite_string( : : FileHandle, String : )写入文件3.fnew_line( : : FileHandle...
2018-07-12 13:28:42
在图像中显示文字,数字等文本。* ball.hdev: Inspection of Ball Bondingdev_update_window ('off')dev_close_window ()dev_open_window (0, 0, 728, 512, 'black', WindowID)read_image (Bond, 'die/die_03...
2018-07-12 13:27:14
在 Halcon 里面计算个数的算子有两个:1、count_obj ( Objects : : : Number ) 主要用法是计算objects 的个数。2、assign ( : : Input : Result ) 给控制变量分配新值例: NumBalls := |Radius|区别 是 Count_obj 主要是用来计算被识别出来的区域的个数 Assign 主要是用来识别数组...
2018-07-12 13:24:45
这个例程是要检查图中焊接点,并获取焊接点的直径。处理过程:首先,分离比较明亮的区域,然后将找出来的结果,转换成最小的平行矩形,即获得了图像处理的ROI。 这里采用了阈值分割:将图像中的灰度值处于某一指定灰度值范围内全部点选到输出区域中。threshold (Bond, Bright, 100, 255)然后,在ROI区域内选择比较暗的区域,移除不适合的区域(利用形状,面积等参数),把物体抽出变成一...
2018-07-12 13:23:25
Halcon中的区域连通算子( 区域连通算法,将图象被分割为区域 ): 区域生长算子regiongrowing(Image: Regions: Row, Column, Tolerance, MinSize: ) 函数作用:用区域生长实现图像分割 函数原理:如果相邻像素的灰度值差小于等于Tolerance,则被融为一个区域。因为矩形一般大于1个像素,所以常常在调用regiongrowing前会用大...
2018-07-12 13:21:36
assign : 对数据赋值,对数组的初始化。但不能对数组中的某一个值进行赋值。 举例:Tuple1 := [1,0,3,4,5,6,7,8,9] // 对数组进行初始化 Val := sin(1.2) + cos(1.2) // 对某一个值进行赋值 Tuple2 := [] //...
2018-07-12 13:18:12
图像获取程序例1.1.set_system( : : SystemParameter, Value : )设置系统参数2.open_framegrabber ( : : Name, HorizontalResolution,VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn,Field, BitsPerChannel...
2018-07-12 13:04:52
第一步:打开标定助手。第二步:对描述文件进行修改具体:打开算子窗口,输入gen_caltab,进行描述文件修改。参数XNum和YNum为7行*7列的圆,Markdist为圆的直径,单位为米。DiameterRatio为圆的直径与两个相邻的圆之间的距离比。修改完之后,应用,输入。存放在一个文件下。之后将描述文件改成此描述文件。描述文件最右面靠近边框有个文件夹形状的图标。点击即可。第三步:根据单个的像...
2018-07-11 17:12:35
转载自:http://www.cnblogs.com/sleepwalker/p/3625449.html例程:detect_indent_fft.hdev说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步:首先,我们用高斯滤波器构造一个合适的滤波器(将原图通过高斯滤波器滤波);然后,将原图和构造的滤波器进行快速傅里叶变换;最后,利用形态学算子...
2018-07-11 16:48:44
转载自:http://www.cnblogs.com/sleepwalker/p/3632266.html例程:class_overlap_svm.hdev说明:这个例程展示了如何用一个支持向量机来给一幅二维的图像进行分类。使用二维数据的原因是因为它可以很容易地联想成为区域和图像。本例程中使用了三个互相重叠的类(由二维平面三个不同颜色的像素点集组成)。三类不同颜色的像素点作为样本,将那些样本代入支...
2018-07-11 16:38:10
转载自: https://www.cnblogs.com/sleepwalker/p/3707830.html 例程:classify_halogen_bulbs.hdev在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法。通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解。在相当多的检测和识别的应用中,都可以使用相同的方...
2018-07-11 16:18:31
MLP多层感知器其实是一种人工神经网络结构,属于非参数估计,可以用于解决分类和回归问题。如果使用“BP算法”也称为BP神经网络,是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(处理单元),可以解线性不可分问题。早前已经学习了感知器学习算法,主要通过对那...