目标:黑色盖板成像后,黑色盖板区域和白色背景区域会形成一段灰色的过渡带,过渡带的灰度值范围不可控,且变化较大,对后期的检测有不利影响,使用固定阈值或者自适应阈值等二值化方法对过渡带区域去除效果不好。最后采用k均值聚类的方法进行过渡带去除。
【步骤一】生成采样patch,对每个patch进行k-means聚类,聚为三类,过渡带为像素数量最少的一类。统计该类的灰度值范围。
vector<int> imageCluster(const Mat &image,int clusterCounts)
{
vector<int> zoneGray;
int iMin = 255; zoneGray.push_back(iMin);
int iMax = 0; zoneGray.push_back(iMax);
int rows = image.rows