Halcon1:灰度投影的运用思路

Halcon1:灰度投影的运用思路

(1)灰度投影简介

         函数原型: gray projections(Region, Image, Mode, HorProjection, VerProjection)

         功能:计算在水平和垂直方向的灰度值投影。(可理解为记录每行、列的灰度平均值的数组,不同mode算法不同)

(2)求取灰度投影后的操作

         ①将灰度投影"区域化"

             1)代码:

               gen regionpoints(Region, VertProjection+200, [0:VertProjectionl-1)//将单个像素存储为图像区域

               gen_region line(RegionLines, 0,0,0,VertProjectionl-1)//绘制直线区域

            2)思路:

              将灰度投影所得到的每行(列)灰度值,作为点的x (y)坐标,生成一组点区域。从而将灰度投影获得的结果可视化,后续可直接对生成的区域进行处理。

          ②2将灰度投影"数据化"

              1)代码:

                 create funct 1d array(VertProjection,Function)//通过Y值序列创建函数。

                 smooth funct 1d mean(Function, 25, 3, SmoothedFunction)//通过多次应用平均(均值)滤波器平滑-维函数。

                 funct 1d to pairs(SmoothedFunction, XValues, Yvalues).//访问函数的x/y值

                 sub:=(YValues-VertProjection//函数y值与灰度投影所得函数值求差值

              2)思路:

                 由于待检测的线缺陷列存在灰度突变,因此,根据求得的灰度投影值平滑出图像理论上的灰度分布函数,求取各行(列)灰度理论值与实际值的差值,可以获取灰度突变处在图像上的索引。

猜你喜欢

转载自blog.csdn.net/weixin_39504171/article/details/94551349
今日推荐