python-聚类图像分割

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的不确定,也可能得不到预期结果。
      '''
      

      前为结果,后面为原图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科学家揭秘大脑靠“旋转”区分过去和现在,还给了个AI架构设计新思路 | Nature子刊...

来源:量子位 过去和现在的边界,到底在哪里?人类,又是如何在时间混沌中区分出过往与当下的?注意,这不是一个哲学问题。(手动狗头)而是科学家们的最新研究。两个普林斯顿的神经学家&am…

Hanlp中自定义词典的配置、引用以及问题解决

文章目录如何阅读本文?Hanlp用户自定义词典引用简介操作步骤环境创建编辑词典文件将用户自定义词典路径加入配置文件删除缓存文件如何阅读本文? 首先我们对Hanlp用户词典进行简介,推荐首先阅读链接文章,它是本文的第一来源&#…

有监督学习

有监督学习 利用一组带有标签的数据,学习从输入到输出的映射,然后将这种映射关系应用到未知数据上,达到分类或回归的目的。 分类:当输出为离散的,学习任务为分类任务。回归:当输出为连续的,学习…

深度学习助力网络科学:基于深度学习的社区发现最新综述

来源:AMiner科技论文题目:A Comprehensive Survey on Community Detection with Deep Learning论文网址:https://arxiv.org/pdf/2105.12584.pdf近日,澳大利亚麦考瑞大学计算机学院人工智能与数据科学实验室联合中科院数学与系统科…

Neo4j 图创建1 以BiliBili粉丝UP主之间的关系为例

基本关系图如下,不给出细节 其中所有粉丝名为杜撰,如有雷同纯属巧合 UP主对应关系为方便建库进行了主观处理,不代表真实情况 无商业用途,学习使用

CentOS7开放端口号

查看所有开放的端口号 firewall-cmd --zonepublic --list-ports 或者 firewall-cmd --permanent --list-ports(--permanent表示永久生效) 查询指定端口号是否开发 firewall-cmd --permanent --query-port8080/tcp 删除一个已经开放的端口号 firewall-cm…

Hinton,Lecun和Bengio三巨头联手再发万字长文:深度学习的昨天、今天和明天

来源:ACM编辑:Priscilla Emil2018年,ACM(国际计算机学会)决定将计算机领域的最高奖项图灵奖颁给Yoshua Bengio、Yann LeCun 和 Geoffrey Hinton,以表彰他们在计算机深度学习领域的贡献。这也是图灵奖第三次…

LR为什么用极大似然估计,损失函数为什么是log损失函数(交叉熵)

首先,逻辑回归是一个概率模型,不管x取什么值,最后模型的输出也是固定在(0,1)之间,这样就可以代表x取某个值时y是1的概率 这里边的参数就是θ,我们估计参数的时候常用的就是极大似然估计&#xf…

LSTM之父撰文,纪念这位图灵奖遗珠、“AI理论之父”

原文:1931: Kurt Gdel, founder of theoretical computer science, shows limits of math, logic, computing, and artificial intelligence作者:Jrgen Schmidhuber (知名 AI 学者,LSTM 之父)译者:刘媛媛摘…

Maven简述以及配置使用

目前的技术存在的问题(引入Maven的重要性) 一个项目就是一个工程; 如果项目非常庞大,就不再适合使用package来划分模块;最好是每一个模块对应一个工程,利于分工协作; 借助于Maven可以将一个项目…

依图科技终止上市审核:冲击科创板「AI第一股」失败

来源:机器之心AI 创业公司在国内市场 IPO 真就这么困难?7 月 2 日晚上交所消息,决定终止对依图科技首次公开发行存托凭证并在科创板上市的审核。依图的上市申请是于 2020 年 11 月 4 日被上交所依法受理的,其股票预计采用 CDR&…

神经网络-前向传播

前向传播神经网络搭建 1.tensorflow库搭建神经网络 参数:线上的权重W,用变量表示,随机给初值。相关介绍 tf.truncated_normal():去掉过大偏离点的正太分布tf.random_normal()正太分布tf.random_uniform():平均分布tf.zeros:全零数组&#x…

对汉诺塔递归算法的理解(图解,附完整代码实现)

前情提要: 首先说一下汉诺塔游戏的规则:如下图所示,有三个柱子A,B,C,我们要做的是把A柱的所有圆盘,全部转移到C柱上,转移时遵循的规则如下: 1、每次只能移动一个圆盘 2、所有的大圆盘必须在小圆盘的下面 过…

再会迪杰斯特拉(Dijkstra)

迪杰斯特拉算法 算法说明 迪杰斯特拉算法用来求解某一个起点到以其他所有点为终点的最短路径长度; 算法思路-贪心算法 以下图为例 指定一个节点(即起点),例如计算“A”到其他节点的最短路径;引入两个集合(S,U&…

数字孪生等前沿技术,将如何解码未来交通?

来源:物联网智库目前,国内在交通领域的技术创新层出不穷,交通出行领域已经成为创新科技聚集和爆发的领域。众多新科技的出现,正在给我们描绘出一幅未来交通的蓝图。在面向未来的诸多关于智慧交通的前沿应用和解决方案中&#xff0…

神经网络-反向传播

反向传播 反向传播---->训练参数,在所有参数上使用梯度下降。使NN模型在训练数据上的损失函数最小。损失函数(loss):预测值(y)与已知答案(y_)的差距。均方误差MSE:, …

第七章 二叉搜索树(b3)BST:删除

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/10247191.html

2021天梯赛题解

2021程序设计天梯赛在4月24日举办,本文是天梯赛的部分题解,有的问题在当时也没有得到满分,由于学校开启了天梯赛的重现比赛,再写一写。 注意:本文答案不是标准答案,每道题收获的分数写在了相应位置&#x…

python-scrapy爬虫框架

scrapy爬虫框架 1.Scrapy爬虫框架 scrapy 不是一个函数功能库,而是一个爬虫框架。scrapy爬虫框架: 爬虫框架是实现爬虫功能的一个软件结构和功能组件集合。.简单说爬虫框架是一个半成品,能够帮助用户实现专业网络爬虫。scrapy爬虫框架共包含…