查看: 146|回复: 2

[FAQ] 基于K聚类的彩色图像自动汇聚技术

[复制链接]
论坛徽章:
2
matlab徽章
日期:2018-08-16 14:56:25python徽章
日期:2018-09-29 11:04:09
发表于 2018-7-9 00:44 | 显示全部楼层 |阅读模式

案例

关于基于K聚类的彩色图像自动汇聚技术案例中,自选图片库,为什么会出现聚类误差的问题。
回复

使用道具 举报

论坛徽章:
2
matlab徽章
日期:2018-08-16 14:56:25python徽章
日期:2018-09-29 11:04:09
 楼主| 发表于 2018-7-9 00:49 | 显示全部楼层
通过案例发现,案列提供的图片都是颜色鲜明,且易于分类的图片,故基于K聚类的彩色图像自动汇聚技术在颜色鲜明的图片数据集上分类效果明显且准确率极高
回复 支持 反对

使用道具 举报

论坛徽章:
2
matlab徽章
日期:2018-08-16 14:56:25python徽章
日期:2018-09-29 11:04:09
 楼主| 发表于 2018-7-9 00:55 | 显示全部楼层
  1. function vec = get_color_vec(im)
  2. % 获取hsv空间矩阵
  3. hsv = rgb2hsv(im);
  4. h = hsv(:,:,1);
  5. s = hsv(:,:,2);
  6. v = hsv(:,:,3);
  7. % 将h变换为角度空间
  8. h = h*360;
  9. H = zeros(size(h));
  10. S = zeros(size(s));
  11. V = zeros(size(v));
  12. % H进行8级量化
  13. H(h<=20 | h>315) = 0;
  14. H(h<=40 & h>20) = 1;
  15. H(h<=75 & h>40) = 2;
  16. H(h<=155 & h>75) = 3;
  17. H(h<=190 & h>155) = 4;
  18. H(h<=271 & h>190) = 5;
  19. H(h<=295 & h>271) = 6;
  20. H(h<=315 & h>295) = 7;
  21. % S进行3级量化
  22. S(s<=0.2 & s>0) = 0;
  23. S(s<=0.7 & s>0.2) = 1;
  24. S(s<=1.0 & s>0.7) = 2;
  25. % V进行3级量化
  26. V(v<=0.2 & v>0) = 0;
  27. V(v<=0.7 & v>0.2) = 1;
  28. V(v<=1.0 & v>0.7) = 2;
  29. % 加权整合,范围[0,71]
  30. L = 9*H + 3*S + V;
  31. W = zeros(size(L));
  32. % L进行12级量化
  33. W(L<6 & L>=0) = 0;
  34. W(L<12 & L>=6) = 1;
  35. W(L<18 & L>=12) = 2;
  36. W(L<24 & L>=18) = 3;
  37. W(L<30 & L>=24) = 4;
  38. W(L<36 & L>=30) = 5;
  39. W(L<42 & L>=36) = 6;
  40. W(L<48 & L>=42) = 7;
  41. W(L<54 & L>=48) = 8;
  42. W(L<60 & L>=54) = 9;
  43. W(L<66 & L>=60) = 10;
  44. W(L<72 & L>=66) = 11;
  45. vec = zeros(1, 12);
  46. for i = 0 : 11
  47.     % 统计直方图
  48.     Wi = find(W==i);
  49.     vec(i+1) = numel(Wi);
  50. end
  51. % 归一化处理
  52. vec = vec ./ sum(vec);
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2018-11-20 03:46 , Processed in 0.104512 second(s), 32 queries .