1.一种彩色图像自适应去色方法,其特征在于,包括以下步骤:S1、读入原始图像,并进行初始化操作:读入原始图像并以srcImg矩阵变量表示,srcImg矩阵中的每个元素表示原始图像的一个像素点;
定义灰度图像的灰度级,以变量Level表示;
定义存储即将生成的灰度化图像的矩阵变量dstImg;
S2、采用KMeans聚类算法对srcImg矩阵中的元素按照设定的灰度级Level进行聚类运算操作;
S3、对所有像素点,逐一取得其所属的聚类号,然后求取每个像素点的颜色值,并将同属于相同聚类的像素的颜色值进行累加,得到同一聚类中所包含的所有像素的颜色值之和即为该聚类的颜色值,并将计算结果存储在聚类颜色值数组变量pixsum相应的聚类元素中,接着计算每组聚类所包含的像素数目;
S4、计算pixsum中各个聚类元素颜色值的总和、平均值、最大值和最小值;
S5、求解步骤S4得到的各个聚类元素的最大和最小颜色值的差值,并据此计算每个灰度级单位对应的颜色值;
S6、计算每个灰度级分别对应的颜色值范围;
S7、对灰度图矩阵dstImg的各个像素点,根据原始图像矩阵srcImg中相应的各像素点所对应的聚类号,依次赋予相应的灰度级。
2.根据权利要求1所述的一种彩色图像自适应去色方法,其特征在于,所述步骤S1具体包括以下子步骤:S11、读入原始图像,并取得原始图像的列数、行数、通道数、像素数、各像素的RGB值;将原始图像以srcImg矩阵变量表示,srcImg矩阵的列数、行数、通道数,分别以Width、Height、Chanels变量表示;
取得srcImg矩阵的像素点的数量,以变量Count表示,计算公式为:Count=Width*Height;
取得srcImg矩阵各像素点的RGB值,对真彩色图像而言,每个像素由3个字节构成,高字节存储红色通道R数据,中字节存储G绿色通道数据,低字节存储蓝色通道B数据;如果读入的图像本身就是灰度图像,则令RGB三个通道为一样的值,即:R=G=B=读入的灰度值;
S12、定义必要参数:定义用户输入的灰度图像的灰度级,以变量Level表示;
定义聚类矩阵变量Pnts,用于临时存储图像数据,其行数、列数的值分别为Count和Chanels变量的值;
定义聚类中心矩阵变量Centers,其行数、列数的值的值分别为Level和1;
定义各像素的聚类结果矩阵变量Labels,其行数、列数的值分别为Count和1;
定义存储即将生成的灰度化图像的矩阵变量dstImg,其行数、列数的值分别为Width、Height;
S13、将原始图像矩阵srcImg中每个像素的RGB颜色值依次赋给聚类矩阵Pnts中相对应的元素,从而完成聚类矩阵变量Pnts的初始化。