表面检测算子

fansa 2019-11-11 03:58:17
dyn_threshold(OrigImage,ThresholdImage : RegionDynThresh :Offset,LightDark : )

当前背景之间差异明显时,可以设定全局阈值进行threshold,但很多情况下由于背景不均一,
目标体经常表现为比背景局部亮一些或暗一些,无法确定全局阈值操作,需要通过其邻域找到一个合适的阈值进行分割。
ThresholdImage是参考图像,通过与OrigImage对比找到领域确定阈值,一般采用平滑滤波算子(如mean_image)获取参考图像。
offset设定邻域比较的区间范围,灰度值变化在offset范围内均是可以接受的。
令 g_{o} = g_{OrigImage},
g_{t} = g_{ThresholdImage}
分别代表原图和参考图中的像素点的灰度值.
我们的做法是把参考图像的灰度值加上(减去)一个Offset,
然后去和原图的像素点逐像素对应地进行比较。
下面看Halcon中给出的这些公式:

The condition for?LightDark?= 'light' is:g_o>=g_t+offset ,light就提取相对参考图更亮的区域。


For LightDark='dark' ,the conditon is:?g_o<=g_t-offset ,dark就提取相对参考图更暗的区域


For LightDark='equal',g_t-offset<=g_o<=g_t+offset,选取和参考图差不多的区域。




shape_trans(Region : RegionTrans : Type : )
函数作用:
变换区域的形状

参数Type的可选项解释如下:
convex:凸包性
ellipse:与输入区域有相同的矩和区域的椭圆
outer_circle:最小外接圆
inner_circle:最大内接圆
rectangle1:平行于坐标轴的最小外接矩形
rectangle2:最小外接矩形
inner_rectangle1:平行于坐标轴的最大内接矩形
inner_rectangle2:输入区域的骨架点拥有同输入区域的重心点最小的距离
...全文
121 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,978

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧