Halcon区域的灰度特征值
gray_features 算子用于计算指定区域的灰度特征值。其输入是一组区域,每个区域的特征都存
储在一组value数组中。
典型的基于灰度值的特征如下:
(1)area:灰度区域面积。
(2)row:中心点的行坐标。
(3)colum:中心点的列坐标。
(4)ra:椭圆的长轴。
(5)rb:椭圆的短轴。
(6)phi:等效椭圆的角度。
(7)min:灰度的最小值。
(8)max:灰度的最大值。
(9)mean:灰度的均值。
(10)deviation:灰度值的偏差。
(11)plane_deviation:近似平面的偏差。
gray _features算子的原型如下:
gray_features ( Regions, Image : : Features : Value )
其各参数的含义如下。
参数1:Regions(输入参数),表示要检查的一组区域。
参数2:Image(输入参数),表示灰度值图像。
参数3:Features(输入参数),表示输入的特征的名字,详见9.1.3小节的介绍。
参数4:Value(输出参数),表示输出的特征的值。
gray_features算子能将输入的各区域按照某种特征进行信息提取。下面是一个使用gray features 算子进行特征提取的例子,如图所示。图(a)为输入的灰色图像,这是一幅视差图像。视差图像的特点是,用灰度值表现对象的深度信息。灰度值小的,表示物体距离拍摄平面远,反之则近。这里使用gray_features算子提取最大和最小的灰度信息,用于推算目标的深度。提取完成后,在控制变量窗口可以看到最小和最大的灰度值,如图(b)所示。
上述过程的代码如下:
*读取图像,这里输入的是一幅单通道灰度图,内容是一幅算法生成的视差图像
read_image (Image,'E:/Doc/MV/pics/disparity.jpg')
*对图像进行阈值处理,这里主要是为了将图像转化为区域
threshold (Image, Region, 1, 255)
*提取区域中的最小灰度值
gray_features (Region, Image, 'min', MinDisp)
*提取区域中的最大灰度值
gray_features (Region, Image, 'max', MaxDisp)
该例输入的是一幅视差图像,是基于同一场景的两个视点的图像生成的。通过提取图像中的最大灰度值和最小灰度值,可以计算视差,进而进行深度估计。