欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

机器学习基于聚类的整图分割实例分享

程序员文章站 2022-06-17 16:09:06
机器学习基于聚类的整图分割实例分享摘自北理工python机器学习课程实验图片结果:代码`import numpy as npimport PIL.Image as imagefrom sklearn.cluster import KMeansdef loadData(filePath):f=open(filePath,“rb”)data=[]img=image.open(f)m,n=img.sizefor i in range(m):for j in range(n):x,...

机器学习基于聚类的整图分割实例分享

摘自北理工python机器学习课程

实验图片

机器学习基于聚类的整图分割实例分享

结果:
机器学习基于聚类的整图分割实例分享

代码
`import numpy as np
import PIL.Image as image
from sklearn.cluster import KMeans

def loadData(filePath):
f=open(filePath,“rb”)
data=[]
img=image.open(f)
m,n=img.size
for i in range(m):
for j in range(n):
x,y,z=img.getpixel((i,j)) #GetPixel,函数功能,该函数检索指定坐标点的像素的RGB颜色值。
data.append([x/256.0,y/256.0,z/256.0])
f.close()
return np.mat(data),m,n
#mat函数将数据转换为矩阵

imgData,row,col = loadData(‘bull.jpg’)
label = KMeans(n_clusters=4).fit_predict(imgData)

label = label.reshape([row,col])
pic_new = image.new(“L”,(row,col))
for i in range(row):
for j in range(col):
pic_new.putpixel((i,j),int(256/(label[i][j]+1)))
#putpixel:在指定位置画一像素。void far putpixel (int x, int y, int pixelcolor);
其中(x,y)是坐标,pixelcolor是像素的颜色
pic_new.save(“result-bull-41.jpg”, “JPEG”)`

解析:

机器学习基于聚类的整图分割实例分享
机器学习基于聚类的整图分割实例分享

本文地址:https://blog.csdn.net/weixin_43694238/article/details/111101751

相关标签: 机器学习 聚类