halcon测量的第一步,就是找边。边找精准了,计算两边的距离才可能精准。由于物料的管控不可能做到每片抽检,或者根本不被管控。这就要求我的抓边效果能最大化适合各种可能性。下面的程序使用鼠标确定测量框,根据设定参数拟合出一条质量可调的XLD线条。图1 鼠标绘制测量框图2 拟合完成的线条,这个例子由50个点拟合出XLD线条。十字点起标识点的作用。找线方法调用代码:fpath:='C:/Users/Administrator/Desktop/2018资料/分类器研究
友发来两个小项目,要求亚像素精度。突然想问几个问题:1、何为亚像素?2、何为亚像素精度?3、使用亚像素测量,系统应注意什么?1、何谓亚像素?面阵摄像机的成像面以像素为最小单位。例如某CMOS摄像芯片,其像素间距为5.2微米。摄像机拍摄时,将物理世界中连续的图像进行了离散化处理。到成像面上每一个像素点只代表其附近的颜色。至于“附近”到什么程度?就很困难解释。两个像素之间有5.2微米的距离,在宏观上可以看作是连在一起的。但是在微观上,它们之间还有无限的更小的东西存在。这个更小的东西我们称它为“亚像素
dyn_threshold算子动态阈值算子应付以下情况:对于一些应用来说,确定一个全局阈值是不可能的,比如,因为没有通用的参考图像来确定阴影校正图像的背景是非均匀的物体在局部范围内通常比背景亮些或者黑些在这种情况下,寺找一个固定阈值来区分物体和背景是丌太容易的问题: 局部邻域的确定局部邻域可以由平滑滤波器来确定(比如, mean_image或binomial_filter)动态阈值算子的经验说明:滤波的mask尺寸确定了做能分割出来物体的最大尺寸经验之谈 mean_im
合并region select_shape(ConnectedRegions1, SelectedRegions1, 'area', 'and', 550, 99999)
select_obj(SelectedRegions1, obj1, 1)
se
继续上节的region处理。区域相减(即求差异)上原图:现在我先选择焊点之外的背景区域,然后想反转这个区域,得到焊点区域,该怎么做?代码如下: gen_rectangle1(roi1, 813, 578, 913, 774)
reduce_domain(GrayImage, roi1, ImageReduced)
&
一,基本的图像通道知识在图像处理中有一个很重要的概念叫图像通道,在RGB色彩模式下就是指那单独的红色、绿色、蓝色部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。 一幅完整的图像,红色绿色蓝色三个通道缺一不可。即使图像中看起来没有蓝色,只能说蓝色光的亮度均为0,但不能说没有蓝色通道存在。 “存在、亮度为零”和“不存在”是两个不同的概念。 一幅图像
ROI (Region of Interest),感兴趣区域。顾名思义,就是你主要想处理的区域。Halcon中处理的对象分为三类,分别是图像(image),区域(region),XLD(extended line description)(主要用在亚像素边缘的提取)。所以从这里可以知道,ROI的作用,其一是加快程序处理速度,原因在于,是程序处理只需处理ROI,其他区域直接跳过。其二,在图像匹配中,可以定义模板。ROI的生成除了直接用算子,可以使用向导直接生成ROI和对应的代码,见下图
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. By default the context menu is enabled.'
halcon中的选择语句的用法。作者:骑蚂蚁上高速MATLAB提供三种选择结构,分别是if语句、switch语句和try语句。1.if语句在MATLAB中,if语句有3种格式。(1)单分支if语句:if 条件语句组end当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。(2)双分支if语句:if 条件语句组1else语句组2end当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的
30*30 规格的标定板的规格 黑色圆点行数: 7 黑色圆点列数: 7 外边框长度: 30mm*30mm 内边框长度: 28.125mm*28.125mm 即:黑色边框线宽为一个圆点半径(0.9375) 黑色圆点半径: &