机器学习基于聚类的整图分割实例分享
机器学习基于聚类的整图分割实例分享
摘自北理工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
上一篇: Spring @Cacheable指定失效时间实例
下一篇: 羊肉怎么做才好吃