K-Means的图像分割实例

import numpy as np
import matplotlib.pyplot as plt
import sklearn
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import LogisticRegression
import pandas as pd
from sklearn.metrics import accuracy_score
from sklearn.metrics import mean_squared_error,r2_score
from sklearn.cluster import KMeans
from sklearn.neighbors import KNeighborsClassifier
from skimage import  io as io

#kmeans的聚类
img = io.imread('./OIP-C.jpg')
#维度存储
img_width = img.shape[1]#存储宽度
img_height = img.shape[0]#存储高度
#数据维度转换3维转2维
img_data = img.reshape(-1,3)
print(img_data.shape)

#模型的建立与训练
KM = KMeans(n_clusters=4,random_state=0)
KM.fit(img_data)
#聚类结果预测
label = KM.predict(img_data)
print(label)
print(pd.value_counts(label))

#结果的保存需要把转变的维度再转变回原来的维度
label1 = label.reshape([img_height,img_width])
print(label1)
#后续的灰度处理
label1 = 1/(label1+1)
print(label1)

#结果可视化
plt.imshow(label1)
plt.show()
io.imsave("./jieguo.jpg",label1)

结果:

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值