效果
原图
代码
*产品表面三角缺陷检测
read_image (Image, '3产品表面三角缺陷检测.png')
rgb1_to_gray (Image, GrayImage)
*使用二值化分割图像
binary_threshold (GrayImage, Region, 'max_separability', 'dark', UsedThreshold)
*将前景区域中图像剪切出来
reduce_domain (GrayImage, Region, ClipImage)
*均值滤波
mean_image (ClipImage, ImageMean, 200, 3)
*局部阈值
dyn_threshold (ClipImage, ImageMean, RegionDynThresh, 7, 'light')
*对分割的区域闭运算,填充间隙,平滑边界
closing_circle (RegionDynThresh, RegionClosing, 90.5)
*连通处理
connection (RegionClosing, ConnectedRegions)
*过滤出三角形区域
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 3000, 5000)
*dev_set_color('red')
*填充三角形内部区域
fill_up (SelectedRegions, RegionFillUp)
*将三角形区域转换为凸度
shape_trans (RegionFillUp, RegionTrans, 'convex')
*将区域转换为轮廓
gen_contour_region_xld (RegionTrans, Contours, 'border')
*显示图像
dev_display (Image)
*显示三角形区域
dev_display (Contours)