(一)装载灰度数组
1、灰度化
较为简单不累述。
2、灰度拉伸
较为简单不累述。
3、二值化
较为简单不累述。(楼主为了节约内存,二值化之后不再存储255和0,存为1和0)。
(二)形态学轮廓显示(膨胀腐蚀)
采用3位十字形结构,进行膨胀腐蚀。
(三)提取单张照片中轮廓
1、算法流程
Step1:寻找轮廓起始点
Step2: 八邻域搜寻函数,搜寻起始点八邻域,得到起始点八邻域内的连接点个数,和连接点索引值数组(连接点在灰度数组中位置),连接点方向数组。
Step3:判断起始点八邻域内连接点个数,寻找正确的轮廓起始点。
Step4:调用单个轮廓提取函数,提取该轮廓。
Step5:如果得到封闭轮廓,调用计算质心函数,计算质心。
Step6:返回Step1 继续搜寻起始点,直到整张照片搜寻结束。
Step7:释放变量。
Step8:结束。