K-Means聚类图像分割

  1. 图像分割:

    1. 利用图像的灰度,颜色,纹理,形状等特征,把图像分成若干个互不重叠的区域,并使这些特征在同一区域内呈现相似性,在不同区域之间存在明显的差异性。然后,就可以将分割的图像中具有独特性质的区域提取出来用于研究。
    2. 常用方法:
       阈值分割:对图像进行度量,设置不同类别的阈值,达到分割目的。
       边缘分割:对图像边缘进行检测,即即检测图像中灰度值放生跳变的地方,则为一片区域的边缘。
       直方图法:对图像的颜色建立直方图,而直方图的波峰波谷能够表示一块区域的颜色的范围,来达到分割目的。
       特定理论:基于聚类分析,小波变换的理论完成图像分割。
  2. 实例
    1. 目标:利用KMeans聚类算法对图像像素颜色进行聚类,实现分割。输出:同一聚类中的点使用同一颜色标记,不同聚类颜色不同。
    2. 代码:
      import numpy as np
      import PIL.Image as image
      from sklearn.cluster import KMeansdef loadData(filePath):f=open(filePath,'rb')data=[]img=image.open(f)m,n=img.size;print(m,n)for i in range(m):for j in range(n):x,y,z=img.getpixel((i,j))#print(z,y,z)data.append([x/256.0,y/256.0,z/256.0])f.close()return np.mat(data),m,nimgData,row,col=loadData("E:\\python\small_split.jpg")
      km=KMeans(n_clusters=3)label=km.fit_predict(imgData)
      label=label.reshape([row,col])pic=image.new("L",(row,col))
      for i in range(row):for j in range(col):pic.putpixel((i,j),int(256/(label[i][j]+1)))
      pic.save("splited.jpg","JPEG")'''实验分析:通过设置k的值,可以得到不同结果,同时由于k的不确定,也可能得不到预期结果。
      '''
      

      前为结果,后面为原图

python-聚类图像分割相关推荐

  1. Python将图像分割成小块然后将所有的块重新拼接在一起

    Python将图像分割成小块然后将所有的块重新拼接在一起 #效果示例 #使用patchify包将图像分割成小块然后将所有的块重新拼接在一起 #二维图像切分及合并 import numpy as np ...

  2. 基于k-means聚类图像分割+lbp+pca+svm实现烟雾识别(利用matlab仿真实现)

    一.算法简介 1.1 c-means聚类算法 聚类分析是根据在数据中发现的描述对象及其关系的信息,将数据对象进行分组.目的是使组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的) ...

  3. k均值聚类 图像分割实战 python

    算法源于西瓜书309页介绍的约束种子k均值算法 1.事先标注好一部分数据: 绿色部分是前景 对应的rgb是[0,255,0] 蓝色部分是背景 rgb[0,0,255] 2. 根据标注好的数据,遍历原始 ...

  4. python 聚类_使用python+sklearn实现聚类性能评估中随机分配对聚类度量值的影响

    注意:单击此处https://urlify.cn/3iAzUr下载完整的示例代码,或通过Binder在浏览器中运行此示例 下图说明了聚类数量和样本数量对各种聚类性能评估度量指标的影响.未调整的度量指标 ...

  5. python 聚类算法包_Python聚类算法之DBSACN实例分析 python怎么用sklearn包进行聚类

    python 怎么可视化聚类的结果 science 发表的聚类算法的python代码 测试数据长什...说明你的样本数据中有nan值,通常是因为原始数据中包含空字符串或None值引起的. 解决办法是把 ...

  6. python 聚类_聚类算法中的四种距离及其python实现

    欧氏距离 欧式距离也就是欧几里得距离,是最常见也是最简单的一种距离,再n维空间下的公式为: 在python中,可以运用scipy.spatial.distance中的pdist方法来实现,但需要调整其 ...

  7. (基础)详解Python实现图像分割增强的两种方法

    图像分割就是把图像分成若干个特定的.具有独特性质的区域并提出感兴趣目标的技术和过程.今天我们将为大家其实分享两个用Python实现像分割增强的方法,需要了解更多关于python知识的,领取更多免费资料 ...

  8. 10种Python聚类算法完整操作示例(建议收藏

    来源:海豚数据科学实验室 著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理 !!文末附每日小知识点哦!! 聚类或聚类分析是无监督学习问题.它通常被用作数据分析技术,用于发现数据中的有趣模 ...

  9. Python聚类色彩提取——Scipy-kmeans

    一.聚类:物以类聚 数组可以进行聚类,并找到数组的聚类中心.使用的第三方库是scipy,需要pip install scipy,先安装该库.数组聚类代码: import numpy as np fro ...

  10. python 散点图聚类,【聚类算法】10种Python聚类算法完整操作示例(建议收藏

    点击上方,选择星标,每天给你送干货! 来源:海豚数据科学实验室著作权归作者所有,本文仅作学术分享,若侵权,请联系后台删文处理 聚类或聚类分析是无监督学习问题.它通常被用作数据分析技术,用于发现数据中的 ...

最新文章

  1. Hololens2-OpenXR开发(一)-入门
  2. 学会四招让你在linux下安装程序变得简单
  3. 是什么管脚分配_FPGA是什么?里面有什么?能做什么?
  4. python本地镜像源搭建_【Python】pip配置国内镜像源,让Python模块安装飞起来。
  5. 2.修改/etc/hosts文件 /安装SSH、配置SSH无密码登陆(全程切换到hadoop用户下操作)
  6. 【Python面试】 说说Python面向对象三大特性?
  7. Python 数据库备份脚本(邮件通知+日志记录)
  8. 配置phpmyadmin的认证方式 wamp下的phpmyadmin密码修改
  9. Java刷漆问题代码_Java实现蓝桥杯历届试题格子刷油漆
  10. LeetCode 三数之和 — 优化解法
  11. 牛客16785 Cantor表
  12. Leetoce--572. 另一个树的子树(java)
  13. python文件对象是可以迭代的_详解python可迭代对象、迭代器和生成器
  14. 2019计算机网络考试,2019年计算机网络技术操作系统试题及答案.doc
  15. Oracle 关于WKT构造SDO_GEOMETRY的问题。
  16. asp.net,Ajax发送异步请求后台修改数据
  17. 第一篇 你好,我叫Flask
  18. 常用词句或缩略语汇总
  19. 国内外知名的统计数据库和统计网站
  20. [深度学习] ImageAI库使用笔记

热门文章

  1. LeetCode MySQL 1076. 项目员工II
  2. LeetCode 1466. 重新规划路线(DFS/BFS)
  3. LeetCode 131. 分割回文串(回溯)
  4. form表单通过checkbox_飞冰表单解决方案 - FormBinder
  5. 【Python基础知识-pycharm版】第七节-函数
  6. 微信小程序使用函数的方法
  7. Linux搭建高并发高可用Redis集群
  8. 我拿模型当朋友,模型却想泄漏我的隐私?
  9. Android 兼容 Java 8 语法特性的原理分析
  10. 论文浅尝 - ACL2020 | 利用知识库嵌入改进多跳 KGQA