以气象卫星Cloud数据集为处理对象,旨在通过无监督聚类算法实现遥感图像中"云"与"天空"的自动二值化分割。项目背景源于气象监测与遥感分析领域对云量自动识别的实际需求,传统阈值法难以适应复杂光照条件,而聚类算法可基于像素颜色特征自适应划分。
系统包含四大核心功能模块:(1)图像加载与预处理模块,支持Cloud数据集读取、图像缩放降采样、RGB像素矩阵扁平化;(2)K-means聚类模块,基于像素三维颜色特征(R,G,B)执行K=2的均值聚类,输出云/天空两类标签;(3)DBSCAN聚类模块,基于密度可达性原理,通过eps邻域半径与min_samples最小样本数识别核心点、边界点与噪声点,实现自适应聚类;(4)可视化对比模块,输出原图、聚类二值分割图、半透明叠加图的三联可视化结果,支持结果保存至result数据集。核心功能路径为:图像加载→缩放预处理→像素特征提取→K-means/DBSCAN聚类→标签映射为颜色→分割图生成→叠加可视化。
项目采用Python脚本架构,技术栈包括OpenCV(图像读取、缩放、颜色空间转换)、NumPy(像素矩阵操作与特征提取)、scikit-learn(KMeans、DBSCAN聚类算法)、Matplotlib(三联可视化布局)。整体为双分支并行结构:同一图像分别输入K-means管道与DBSCAN管道,结果统一输出。特征工程仅提取像素原生RGB值,无额外特征构造,保持算法纯粹性。
(1)数据预处理:原始Cloud图像分辨率约2000×2000,缩放至800×800后像素点降至64万,处理耗时从卡顿优化至单次<5秒;(2)K-means模块:设置n_clusters=2,random_state固定保证可复现,迭代收敛后输出两类质心(典型值:云类接近白色RGB(200+,200+,200+),天空类接近蓝色RGB(100,150,200));(3)DBSCAN模块:经调参确定eps=0.3(归一化颜色空间)、min_samples=10,有效识别云层密集区域与天空稀疏区域,噪声点占比约5%;(4)量化结果:两种算法均成功实现云-天空二值化分割,K-means分割边界平滑但可能将高亮建筑误分为云,DBSCAN对不规则云团形状识别更精准但计算耗时增加约40%。输出结果包含原图、分割结果图、半透明叠加图共6张可视化图像,保存至result目录。