目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码
数字图像处理(Digital Image Processing)将图像信号转换成数字信号并利用计算机对其进行处理,起源于20世纪20年代,目前已广泛地应用于科学研究、工农业生产、生物医学工程、航空航天、军事、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,已成为一门引人注目、前景远大的新型学科,发挥着越来越大的作用.数字图像处理作为一门学科形成于20世纪60年代初期,早期的图像处理的目的是改善图像的质量,以人为对象,以改善人的视觉效果为目的,首次获得实际成功应用的是美国喷气推进实验室(JPL),并对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,随后又对探测飞船发回的近十万张照片进行了更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。
提示:要安装DIPUM工具箱,请转到最新版本页面并在那里查看安装说明。
陈炳权,刘宏立,孟凡斌.数字图像处理技术的现状及其发展方向[J].吉首大学学报(自然科学版),2009,30(01):63-70.
主函数部分代码:
close all; clear;
d = 2;
k = 3;
n = 5000;
%% Generate data
[X,label] = kmeansRnd(d,k,n);
plotClass(X,label);
%% kmeans init with kmeans++ seeding (recomended)
y = kmeans(X,kseeds(X,k));
figure;
plotClass(X,y);
%% kmeans with random initialization
y = kmeans(X,k);
figure;
plotClass(X,y);
%% kmeans init with labels
y = kmeans(X,label);
figure;
plotClass(X,y);
%% kmeans init with centers
mu = rand(d,k);
y = kmeans(X,mu);
figure;
plotClass(X,y);
%% kmeans++ seeding
mu = kseeds(X,k);
[~,y] = min(dot(mu,mu,1)'/2-mu'*X,[],1); % assign sample labels
figure;
plotClass(X,y);
完整代码见评论区置顶评论。