*读取一张图像
read_image (Image, '原图.jpg')
*获取图像大小
get_image_size(Image, Width, Height)
*关闭已经打开的窗口
dev_close_window ()
*打开新窗口
dev_open_window(0, 0, Width, Height, 'black', WindowHandle)
*对图像进行阈值操作
threshold (Image, Region, 0, 50)
*对区域进行连通处理
connection (Region, ConnectedRegions)
*过滤出产品的外轮廓区域
select_shape (ConnectedRegions, SelectedRegions, 'ra', 'and', 10, 200)
*对轮廓区域进行填充
fill_up (SelectedRegions, RegionFillUp)
*将区域转化为最小外接圆
shape_trans (SelectedRegions, RegionTrans, 'outer_circle')
*通过补集运算获取产品缺口区域
difference (RegionTrans, RegionFillUp, RegionDifference)
*对缺口区域进行腐蚀操作
erosion_circle (RegionDifference, RegionErosion, 1)
*把一个区域转变为一个二进制字节图像。
region_to_bin (RegionErosion, BinImage, 255, 0, 656, 492)
*对图像进行阈值操作
threshold (BinImage, Region1, 255, 255)
*对阈值区域连通处理
connection (Region1, ConnectedRegions1)
*设置输出对象显示颜色
dev_set_color('blue')
*过滤出想要的缺口区域
select_shape (ConnectedRegions1, SelectedRegions1, ['ra','rb'], 'and', [5,1], [10,5])
*统计出缺口的数目
count_obj (SelectedRegions1, Number)
*显示图像
dev_display (Image)
*显示缺陷区域
dev_display (SelectedRegions1)