首页 > 智能网

关于边缘匹配与单直线的图像处理方法说明

来源:智能网
时间:2021-05-07 16:01:18
热度:146

关于边缘匹配与单直线的图像处理方法说明边缘匹配+单直线,通过直线拟合模块获得直线的特征值(直线角度和直线点坐标)。匹配作为粗定位使用,直线拟合模块根据粗定位自动改变位置;对于目标比

边缘匹配+单直线,通过直线拟合模块获得直线的特征值(直线角度和直线点坐标)。

匹配作为粗定位使用,直线拟合模块根据粗定位自动改变位置;对于目标比较固定的情况,可不采用粗定位功能。

当不需要粗定位时,可跳过匹配类参数调整,直接对测量类参数进行调整。

        通过图像方法主处理下拉框选择 边缘匹配+单直线

【鼠标操作】通过鼠标改变 ROI 的大小,并拖放至适当的位置作为学习的模板。鼠标改变 LGA 的大小并拖放至量测的区域。

【方法学习】保存该方法及模板

VPP:表示有效点百分比例点击高级参数进行匹配类参数调整

【个数】希望寻找的目标数量

【分数】目标与模板间的相似度分数

【比例容差】目标与模板间的大小比例变化

【角度基准】目标在图像中的旋转角度

【角度容差】在<角度基准>基础上的寻找角度范围

【匹配位置】分数最大,最左边的,最右边的,最上边的,最下边的

           当图像中存在多个目标时,可选择返回其中符合位置的一个。

【模板类型】Consistent edge、Thin Structure

Consistent edge:是默认的选项,表示边缘特征为连续的曲线。大部分情况下使用该参数即可。

           Thin Structure:针对特征边缘比较靠近而容易被认为是同一边缘曲线的情况,比如两条靠得很近的平行直线。

【模板修改】弹出模板修改框对模板进行修改

【最小特征点数】模板边缘的最小特征点数目,表示在金字塔顶层模板保留的边缘点数。

               该数值越大,能提高在顶层初步匹配的准确性。

【最大特征点数】模板边缘的最大特征点数目,默认为 1024

               算法将根据设定的特征点数目,均匀提取模板边缘上的特征点。

               例如模板边缘点数目为 2000 点,算法将均匀提取 1024 点特征;

               若模板边缘点数目为 700 点,那么算法将提取全部 700 点特征。

     对于边缘模糊的图像,提高特征点数有利于提高匹配准确度。

说明:

【角度基准】与【角度容差】的关系举例,假如角度基准设置成 0 度,角度容差设置成 5 度,即算法将在

[-5 +5]度的范围内

模板修改

   如模板存在干扰的边缘特征点,可通过鼠标操作进行模板修改。

如下图,算法在提取边缘特征点时,将不再考虑被涂的红色区域。

Gauge 量测模块参数调整

【使用匹配粗定位】 选择是否需要粗定位。勾选后,量测模块的姿态将跟随匹配到的目标姿态进行改变

【采样点】 勾选后,显示所有直线上的特征点,对调整下面的高级参数有帮助。如下图:

【测量参数】

形状的拟合,首先是通过在设定的方向上寻找出边缘点,再进行相关形状的拟合的。测量参数全部都是针对每一条路径上的像素曲线变化率进行操作的。

形状拟合中某一条路径的寻点 路径上的像素曲线及其变化率

   上右图中,红色曲线代表了左图中红色路径上像素值的排列;蓝色线代表了像素值曲线的变化率, 数学上是像素值曲线的一阶导数。可以简单地理解,变化率曲线上的一个峰或一个谷对应的就是一个边缘上的过渡点,即是我们要寻找的边缘点。

形状拟合的基础是每一条路径上的寻找边缘点操作,而寻找边缘点操作主要是对像素曲线变化率的控制。

   像素变化率曲线上会有若干个概念,如下图所示:

上图中,蓝色为像素变化率曲线。底下的蓝色直线代表的是 Threshold;Threshold 与峰值(或谷值)

之间的差称为 Amplitude;由 Threshold 及高于 Threshold 以上的变化率曲线围成的称为 Area。

<1> 选择:包括 From Begin、From End、Largest Amplitude、Largest Area 及 Closet

          可能在一条路径上会寻找到若干个过渡点,通过该参数控制选取哪一个作为边缘点。From Begin:指从设定寻点方向开始的第一个过渡点作为边缘点

From End: 指从设定寻点方向开始的最后一个过渡点作为边缘点Largest Amplitude:以 Amplitude 最大值的过渡点作为边缘点Largest Area:以 Area 最大值的过渡点作为边缘点

Closet:以最靠近拟合模块的中点线的过渡点作为边缘点

ta:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABH0lEQVQ4T52SvWqEQBRG72TRND7BIEFIu0+wZQq7dBbpLC0sROx8B6vYWFpKOusg6YW0QgpJIMwDpEgQozfcQcPCuv7stDP38H1nLgMABAAGFx4aJACdiyA09IuIYFnWSxAE94fD4WdLGAL0BEDETtf1XghxvRWABACATvZgbLeljnRwDACAHWNSxyonk4AhySoIAbohQT90vxodGIbxEYbh3nGc73NeCNCeAzRNg57nvSVJsp8DjA5OEgw7gowxSjXpZMnBMXQZwDlnQgjpYO1P/EtM0xQ55zemaX6OnVRVfW/b9nZuseQmuq4LRVGYVVU9a5rm2rb9GMcxRFH0VZblXZZlr3MSp+7ketd1jb7vP+R5/rQVQO9RUZR6qcIf+OSIEblzk44AAAAASUVORK5CYII=") 0 0, auto;" class="firstRow">ta:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABH0lEQVQ4T52SvWqEQBRG72TRND7BIEFIu0+wZQq7dBbpLC0sROx8B6vYWFpKOusg6YW0QgpJIMwDpEgQozfcQcPCuv7stDP38H1nLgMABAAGFx4aJACdiyA09IuIYFnWSxAE94fD4WdLGAL0BEDETtf1XghxvRWABACATvZgbLeljnRwDACAHWNSxyonk4AhySoIAbohQT90vxodGIbxEYbh3nGc73NeCNCeAzRNg57nvSVJsp8DjA5OEgw7gowxSjXpZMnBMXQZwDlnQgjpYO1P/EtM0xQ55zemaX6OnVRVfW/b9nZuseQmuq4LRVGYVVU9a5rm2rb9GMcxRFH0VZblXZZlr3MSp+7ketd1jb7vP+R5/rQVQO9RUZR6qcIf+OSIEblzk44AAAAASUVORK5CYII=") 0 0, auto; padding: 2px 4px; border-color: rgb(217, 217, 217); text-align: center;">ta:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABH0lEQVQ4T52SvWqEQBRG72TRND7BIEFIu0+wZQq7dBbpLC0sROx8B6vYWFpKOusg6YW0QgpJIMwDpEgQozfcQcPCuv7stDP38H1nLgMABAAGFx4aJACdiyA09IuIYFnWSxAE94fD4WdLGAL0BEDETtf1XghxvRWABACATvZgbLeljnRwDACAHWNSxyonk4AhySoIAbohQT90vxodGIbxEYbh3nGc73NeCNCeAzRNg57nvSVJsp8DjA5OEgw7gowxSjXpZMnBMXQZwDlnQgjpYO1P/EtM0xQ55zemaX6OnVRVfW/b9nZuseQmuq4LRVGYVVU9a5rm2rb9GMcxRFH0VZblXZZlr3MSp+7ketd1jb7vP+R5/rQVQO9RUZR6qcIf+OSIEblzk44AAAAASUVORK5CYII=") 0 0, auto; padding: 2px 4px; border-color: rgb(217, 217, 217); text-align: center;">ta:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABH0lEQVQ4T52SvWqEQBRG72TRND7BIEFIu0+wZQq7dBbpLC0sROx8B6vYWFpKOusg6YW0QgpJIMwDpEgQozfcQcPCuv7stDP38H1nLgMABAAGFx4aJACdiyA09IuIYFnWSxAE94fD4WdLGAL0BEDETtf1XghxvRWABACATvZgbLeljnRwDACAHWNSxyonk4AhySoIAbohQT90vxodGIbxEYbh3nGc73NeCNCeAzRNg57nvSVJsp8DjA5OEgw7gowxSjXpZMnBMXQZwDlnQgjpYO1P/EtM0xQ55zemaX6OnVRVfW/b9nZuseQmuq4LRVGYVVU9a5rm2rb9GMcxRFH0VZblXZZlr3MSp+7ketd1jb7vP+R5/rQVQO9RUZR6qcIf+OSIEblzk44AAAAASUVORK5CYII=") 0 0, auto; padding: 2px 4px; border-color: rgb(217, 217, 217); text-align: center;">

下面 3 图分别为 Largest Area、Largest Amplitude 及 From Begin 情况下的选择的边缘点。

<2>采样步长:形状拟合过程中的采样点间隔

<3>阈值: 高于此值的像素变化率峰值(或谷值)才被考虑成过渡点

<4>滤波:径向平滑系数,可过滤路径上像素噪点

滤 波 = 0                                                            滤 波 = 10

拟合路径上有一黑色噪点,调整滤波值做中值滤波,噪点被过滤,最终选择了下方的拟合点。

<5>邻比:形状拟合时,一条路径上可能出现多个过渡点。该参数表示当前边缘点的选择参考邻近多少个路径的取点情况。

邻 比 = 0                                                                    邻 比 = 9

                 调整邻比值表示右上图中的紫色窗口,当前路径将参考紫色窗口内其它点的选择情况,放弃黑色噪点。

<6>最小幅值:高于此值的像素变化率曲线值才被考虑成边缘点

<7>最小面积: 高于此值的像素变化率曲线值才被考虑成边缘点

【差异点剔除】

差异点是远离有效点集合的点,它的出现会影响形状(直线、圆、矩形)的逼近程度,需要将其剔除。下图所示为剔除圆上的差异点:

<1>滤波次数:在拟合过程中检测差异点的次数

<2>滤波阈值:该值的倒数即为所有边缘点到拟合出的直线的平均距离。

         到拟合直线距离大于该平均距离的点即为差异点。

<3>有效点比例:未被剔除的点即为有效点,该参数表示有效点占所有边缘点的比例。

           该参数能检测出直线边是否有损坏。

函数取值

   执行 SY_IP_ImgProc()进行处理,返回 ImgProcResult 结果。其中,X、Y 为直线上某点坐标,

LineAngle 为直线角度。

Baidu
map