halcon dots_image 点状物提取 (by shany shang)

源代码:

*加载原图

read_image(img,'D:/000HALCON/测试图片/dotsimg/2') 

*获取图像尺寸
get_image_size (img, Width, Height)


dev_open_window (0, 0, Width/5, Height/4, 'black', WindowHandle)
dev_display (img)

*均值滤波
mean_image (img, ImageMean, 11, 11)

*点状物增强运算
dots_image (ImageMean, DotImage,11, 'light', 0)

*灰度相乘拉伸
mult_image (DotImage, DotImage, ImageResult, 0.265, 0)
*固定阈值二值化
threshold (ImageResult, Regions, 1, 255)

*连通域分析
connection (Regions, ConnectedRegions)

*选择符合圆度标准的区域
select_shape (ConnectedRegions, SelectedRegions1, 'circularity', 'and', 0.6431, 0.9917)

*选择面积符合标准的区域
select_shape (SelectedRegions1, SelectedRegions2, 'area', 'and', 31.65, 500)
dev_clear_window()
dev_display (img)
dev_display (SelectedRegions2)

 

 

原图:

halcon dots_image 点状物提取 (by shany shang)_第1张图片

缺陷位置:

halcon dots_image 点状物提取 (by shany shang)_第2张图片

检测效果:

halcon dots_image 点状物提取 (by shany shang)_第3张图片

 

dots_image 算子理解: 

 算子原型: dots_image(Image : DotImage : DiameterFilterTypePixelShift : )

 原理:使用直径为(Diameter)的点滤波核进行滤波得到,Diameter=5 的圆点滤波核如下:

halcon dots_image 点状物提取 (by shany shang)_第4张图片

可通过(FilterType)来决定是增强黑色的圆点还是白色的圆点或者所有的圆点。

此算子适合OCR里增强点状印刷字体

 

你可能感兴趣的:(图像处理)