文件名称:彩色图分割
文件大小:11.7MB
文件格式:RAR
更新时间:2021-07-01 15:03:56
Lab色彩空间 Kmeans 彩色图像分割
一种利用Lab色彩空间和kmeans的彩色图像分割算法。代码共分为两个: 1、Segment_RGB 该代码用来对图像在LAB空间进行分割,并且将生成的图片进行保存。 gamma函数和RGBtoLab函数: 用来将图像从RGB空间转化为LAB空间; InputBmp函数: 用来对图像进行进行显示。 2、KMeans 该代码用来对图像首先从RGB空间转化到LAB空间,然后对转化到LAB空间的图像进行K-Means聚类,最后根据聚类的结果,在图像上显示不同的颜色。 main.cpp: 是主程序,用来读取图片,并对像素点进行操作,之后迭代选取聚类中心,并将每个像素点划分到不同区域。 KMeans.h和KMeans.cpp是定义一个类,用以对图像进行处理。其中: data_is_ok函数: 用于判断读取的图片数据是否能够利用KMeans进行处理。 calculate_center_once函数: 用以计算每个像素点和中心点的距离,并且通过迭代来更新聚类中心 init_k函数: 用以初始化k并显示更新后的最小欧式距离的结果,并且设置迭代的终止条件:欧式距离之和的开方不再变化。 get_centers函数: 生成聚类中心后,用以计算每个像素点属于哪一个中心。 show_info函数: 用以显示迭代更新的聚类中心信息。 gamma函数和RGBtoLab函数: 用来将图像从RGB空间转化为LAB空间; 更为具体的代码解释详见代码内注释。
【文件预览】:
图像处理代码
----Segment_RGB()
--------Segment_RGB.sln(979B)
--------Segment_RGB()
--------Segment_RGB.sdf(14.69MB)
--------Segment_RGB.v12.suo(44KB)
--------Debug()
----代码说明.docx(16KB)
----kMeans()
--------Release()
--------kMeans.sln(964B)
--------kMeans()
--------kMeans.sdf(10.94MB)
--------kMeans.v12.suo(34KB)
--------Debug()
----SA15006019_罗宇豪_实验报告.pdf(940KB)
----SA15006019_罗宇豪_代码说明.pdf(129KB)