本文用到的主要算子简单介绍如下:
1、矩形结构开运算opening_rectangle1();
2、圆形结构腐蚀运算erosion_circle();
3、统计非连通区域个数count_obj();
4、合并非连通区域concat_obj();
*读取图像
read_image(image,'../wood.jpg')
*图像转灰度
rgb1_to_gray(image,grayimage)
*阈值分割:筛选60-255的灰度值
threshold (grayimage, regions, 60, 255)
*开运算:先腐蚀后膨胀
opening_rectangle1(regions,Cut,2,7)
*打断非连通区域
connection(Cut,connectedregions)
*面积筛选
select_shape (connectedregions, SelectedRegions, 'area', 'and', 391.24, 20056.3)
*数出第一个部分木材个数
count_obj(SelectedRegions,Number1)
*面积筛选
select_shape (connectedregions, SelectedRegions1, 'area', 'and', 20056.4, 100000)
*腐蚀运算
erosion_circle(SelectedRegions1,regionerosion1,7.5)
*打断非连通区域
connection(regionerosion1,connectedregions1)
*面积筛选
select_shape (connectedregions1, SelectedRegions2, 'area', 'and', 2707.36, 20000)
*数出第二个部分木材个数
count_obj(SelectedRegions2,Number2)
*将第一个部分和第二个部分合并
concat_obj(SelectedRegions,SelectedRegions2,objectsconcat)
*数出合并部分总木材个数
count_obj(objectsconcat,Number3)
运行结果: