Halcon 算子 dual_rank

  作用:

参数翻译(顺序对应上面参数顺序):

输入图像、

输出图像、

输入掩膜形状、

输入掩膜半径1 ≤ Radius ≤ 101、

输入滤波模式:0对应开运算,50对应中值运算,100对应闭运算    取值范围:0 ≤ ModePercent ≤ 100、

输入边界处理参数( 'mirrored', 'cyclic', 'continued', 0, 30, 60, 90, 120, 150, 180, 210, 240, 255)

描述:

算子dual_rank对所有输入图像的灰度值进行非线性转换,圆形或者正方形可以被用作掩膜形状。算子dual_rank会引起两次连续的rank_image调用(参考我的halcon算子专栏中的rank_image详解)。第一次计算使用指定的(输入参数)ModePercent来计算灰度值的范围,然后第一次计算的结果作为第二次运算的输入,这一次使用100-modepercent的值来计算灰度值范围。

边界处理参数:

1、gray value具体的灰度值:图像边缘以外的像素点的灰度值都假定为常量;

2、'continued' 延续图像边缘像素

3、'cyclic'  循环延续图像边缘像素

4、'mirrored'  反射图像边缘像素

过滤的范围根据以下步骤实现:

1、首先将掩膜从在需要过滤的图片上覆盖一次,这样,掩膜的中心会接触所有像素一次;

2、对于这些像素中的每一个像素,所有被掩膜覆盖的相邻像素,都会按照其灰度值的大小从小到排序;

3、每个排序的灰度值序列都包含相同个数的灰度值,就像掩膜又图像点一样;

4、第n大的元素,(= ModePercent, rank values between 0...100 in percent)在对应的结果图像中选择并设置为结果灰度值。

 

ModePercent:

1、如果ModePercent是0,相当于对灰度值进行开运算;

2、如果ModePercent是50,相当于执行两次中值滤波median_image;

3、如果ModePercent是100,相当于执行闭运算;

4、选择这些范围内的参数值将导致这些算子的平滑转换。

猜你喜欢

转载自blog.csdn.net/weixin_39829336/article/details/112765622