工控编程吧

标题: halcon mod_parallels_xld函数介绍 [打印本页]

作者: qq263946146    时间: 2019-5-19 00:14
标题: halcon mod_parallels_xld函数介绍
mod_parallels_xld(Parallels, Image : ModParallels, ExtParallels : Quality, MinGray, MaxGray, MaxStandard : )
mod_parallels_xld从输入参数parallels中选择包含齐次区域的XLD parallels。
参数Image 包含相应的灰度值图像。


只有具有比Quality大的Parallels比较才会被检查。
该算法在两个平行线重叠的区域内,以一个像素为间隔进行并行剖分,并与线段平行。


在第一次迭代中,计算出截面中每条线的平均灰度值。
在第二次迭代中,计算每条直线上灰度值的标准差。
如果平行线之间区域的平均灰度值位于区间内 [MinGray,MaxGray],
如果所有标准差的均值都小于上阈值MaxStandard,
对应的平行线在ModParallels中作为修改后的平行线返回。


在第二步中,检查所有与平行线邻接的多边形段的均匀性。
为此,我们构造了一个矩形,其宽度为修改后的并行所包围的最后一个区域的宽度,
并使用上述算法检查其均匀性。
只要有相邻的多边形段,这个过程就会继续。
因此,找到的多边形作为ExtParallels中的扩展平行线返回。


参数
Parallels (input_object)  
输入的XLD轮廓
Image (input_object)  
输入的相应灰度值图像
ModParallels (output_object)  
输出的修改后的平行XLD
ExtParallels (output_object)  
输出的扩展平行XLD
Quality
输入最小品质因数 0.0 <= Quality && Quality <= 1.0
MinGray,MaxGray输入最小最大平均灰度值。
MaxStandard
输入的允许的最大标准偏差。


例程
read_image (ImagePart, 'mreut_y')
get_image_size (ImagePart, PartWidth, PartHeight)
dev_resize_window_fit_image (ImagePart, 0, 0, -1, -1)
edges_image (ImagePart, PartAmp, PartDir, 'mderiche2', 0.3, 'nms', 20, 40)
threshold (PartAmp, EdgeRegion, 1, 255)
clip_region (EdgeRegion, ClippedEdges, 2, 2, PartWidth - 3, PartHeight - 3)
skeleton (ClippedEdges, EdgeSkeleton)
gen_contours_skeleton_xld (EdgeSkeleton, EdgeContours, 1, 'filter')
gen_polygons_xld (EdgeContours, EdgePolygons, 'ramer', 2)
gen_parallels_xld (EdgePolygons, ParallelEdges, 10, 30, 0.15, 'true')
mod_parallels_xld (ParallelEdges, ImagePart, ModParallelEdges, ExtParallelEdges, 0.3, 160, 220, 10)
[halcon]1[/halcon]






欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4