当前位置: 首页 > news >正文

网站建设功能规划个人免费开发网站

网站建设功能规划,个人免费开发网站,中国建设监理官方网站,电商怎么做流量#coding:utf-8 __author__ jmh081701 #本文件主要学习一种经典的聚类方法:k-means #我们把这个算法用于一个RGB图像的聚类,看能出来的什么的效果 #k-means的原理:输入:x[1],x[2],x[3],...,x[n],其中每个x[i]都是m维的向量,给定聚类的数目k 1.随机生成k个…
#coding:utf-8
__author__ = 'jmh081701'
#本文件主要学习一种经典的聚类方法:k-means
#我们把这个算法用于一个RGB图像的聚类,看能出来的什么的效果
#k-means的原理:
'''
输入:x[1],x[2],x[3],...,x[n],其中每个x[i]都是m维的向量,给定聚类的数目k
1.随机生成k个代表元:z[1],z[2],...,z[k];每个z[i]都是第i类的中心元
2.repeat:更新 xi所述的类别ci,使得:|x[i]-z[ci]|最小更新 z[j],z[j]等于所在类别G[j]的所有样本的平均值
until:z不再改变
'''
import numpy as np
import math
import  random
from  PIL import  Imagecnt=0
def calculate_zi(Gi,X):
#给定Gi,里面包含着属于这个类别的元素,然后计算这些元素的中心点
#在本实例中,Gi里面包含的是下标global  cntsumi=np.zeros(len(X[0]))for each in Gi:cnt+=1sumi+=X[each]sumi/=(len(Gi)+0.000000001)zi=sumireturn zidef find_ci(xi,Z):#寻找离xi最近的中心元素ci,使得Z[ci]与xi之间的向量差的內积最小global  cntdis_= np.inflen_=len(Z)rst_index = Nonefor i in range(len_):cnt+=1tmp_dist=np.dot(xi-Z[i],np.transpose(xi-Z[i]))if tmp_dist<dis_:rst_index=idis_=tmp_distreturn  rst_indexdef k_mean(X,k):G=[] #G[i]={1,2,3...}表示属于第i类的样本在X中的索引,洗标Z=[] #Z[i] 第i类的中心点N=len(X)c=[] #c[i]=1,2,...,k;表示第i个样本属于第c[i]类tmpr=set()while len(Z)<k:r=random.randint(0,len(X)-1)if r not in tmpr:tmpr.add(r)Z.append(X[r])G.append(set())for i in range(N):c.append(0)#随机生成K个中心元素while True:group_flag=np.zeros(k)for i in range(N):new_ci = find_ci(X[i],Z)if c[i] != new_ci:#找到了更好的,把xi从原来的c[i]调到new_ci去,于是有两个组需要更新:new_ci,c[i]if i in G[c[i]]:G[c[i]].remove(i)group_flag[c[i]]=1  #把i从原来所属的组中移出来G[new_ci].add(i)group_flag[new_ci]=1    #把i加入到新的所属组去c[i]=new_ci#上面已经更新好了各元素的所属if np.sum(group_flag)==0:#没有组被修改breakfor i in range(k):if group_flag[i]==0:#未修改,无须重新计算continueelse:Z[i]=calculate_zi(list(G[i]),X)return Z,c,kdef test_rgb_img():filename=r"1.jpg"im = Image.open(filename)img = im.load()im.close()height = im.size[0]width= im.size[1]print(im.size)X=[]for i in range(0,height):for j in range(0,width):X.append(np.array(img[i,j]))Z,c,k=k_mean(X,8)#print(Z)new_im = Image.new("RGB",(height,width))for i in range(0,height):for j in range(0,width):index = i * width + jpix = list(Z[c[index]])for k in range(len(pix)):pix[k]=int(pix[k])new_im.putpixel((i,j),tuple(pix))new_im.show()
if __name__ == '__main__':test_rgb_img()print(cnt)

原图:
这里写图片描述
k=8的聚类结果:

这里写图片描述

k=4的聚类结果:
这里写图片描述

k=2:聚类结果

这里写图片描述

github地址:https://github.com/jmhIcoding/ml.git

http://www.lbrq.cn/news/2742031.html

相关文章:

  • 移动端网站开发流程图网页制作代码模板
  • 做公司网站需要什么程序百度云官方网站
  • 南京师范大学课程建设网站天津百度推广电话号码
  • 以网站做跳板入侵实时军事热点
  • 网站建设方案书网络部署方案站长工具四叶草
  • 怎样建设百度网站营销软文300字范文
  • 男女做特别污污的事情网站百度一下百度网页版
  • 学做衣服的网站国外浏览器搜索引擎入口
  • 响应式网站模板之家餐饮营销方案100例
  • 天津企业网站专业订制html友情链接
  • 网站主页面设计哪个好找客户资源的软件
  • 公司网站字体百度开户联系方式
  • 做彩票网站合法吗上海培训机构整顿
  • 武汉网站设计说百度平台客服
  • 试玩网站怎么做千峰培训
  • wordpress网站后台地推的方法和技巧
  • 建设网站技术人员先进事迹山东进一步优化
  • 微企点做的网站百度搜得到吗百度入口网站
  • 郑州app软件定制夫唯seo教程
  • 国内做视频课程的网站有哪些腾讯云域名注册官网
  • 自动做简历的网站模板建站
  • 网站开发学那个语言比较好关键时刻
  • 绵阳公司网站制作公司seo新手快速入门
  • 头条号链接其他网站怎么做广州企业网站建设
  • 河间做网站seo优化必备技巧
  • 网站创建方法手机关键词seo排名优化
  • 网站制作方案策划书长春建站程序
  • 一个网络空间如何做两个网站正规seo排名公司
  • 哪个网站可以找题目给小孩做seo站外推广有哪些
  • 做 专而精 的网站制作网站的工具
  • 【PHP】Hyperf:接入 Nacos
  • 详解flink java基础(一)
  • LIN-TestWait函数解析
  • 【Web后端】Django、flask及其场景——以构建系统原型为例
  • 机械学习---词向量转化评价,附代码实例
  • 新手入门Makefile:FPGA项目实战教程(二)