标签:end 学习 from 结果 技术 span pre int sha
源代码地址:https://github.com/wangqifan/PictureCutting
效果
切割前
切割后
接下来介绍如何写这个程序
首选导入工具包:
import numpy as np import PIL.Image as image from sklearn.cluster import KMeans
然后将图片数据加载到numpy数组中
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)) data.append([x/256.0,y/256.0,z/256.0]) f.close() return np.mat(data),m,n imgData,row,col=loadData("wqf.jpg")
对数据进行学习
label = KMeans(n_clusters=20).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): print(label[i][j]) pic_new.putpixel((i,j),int(256/(label[i][j]+2))) pic_new.save("2.jpg","JPEG")
NOTE:kmeans需要制定簇,建议使用简单点的图片效果更明显
标签:end 学习 from 结果 技术 span pre int sha
原文地址:http://www.cnblogs.com/zuin/p/6986004.html