标签:算法 图片大小 import mamicode imp val 设置图 panda plot
一、学习资料:
北京博雅数据酷客平台大讲堂:http://cookdata.cn/auditorium/course_room/10016/
二、聚类介绍
1、什么是聚类
2、K-Means:基本原理、优化目标和求解方法
3、GMM:给类标签引入概率解释
4、EM算法:一种求解隐变量概率模型的通用方法
5、K-Means的Python实现在图像分割
#使用 PIL.Image.open 方法来打开图片,然后使用 matplotlib 中的 imshow 方法将图片可视化。 from PIL import Image fig, ax = plt.subplots(figsize=(6, 5)) #设置图片大小 path = ‘./input/timg.jpg‘ img = Image.open(path) plt.imshow(img) plt.box(False) #去掉边框 plt.axis("off")#不显示坐标轴 #将一张图片转换成表格形式。每一行为一个像素,三列分别为像素的 R,B,G取值。获取图片的每一个像素 (i,j)(i,j) 的 RBG 值可以使用 Image 类的 getpixel 方法。 import pandas as pd def image_dataframe(image): #将图片转换成DataFrame,每个像素对应每一行,每一行包括三列 rbg_values = [] for i in range(image.size[0]): for j in range(image.size[1]): x,y,z= image.getpixel((i,j)) # 获取图片的每一个像素 (i,j)(i,j) 的 RBG 值 rbg_values.append([x,y,z]) return pd.DataFrame(rbg_values,columns=["R","B","G"]),img.size[0],img.size[1] img_df,m,n = image_dataframe(img) img_df.head() print(m,n,m*n,len(img_df)) labels, _ = k_means(img_df,2) #将生成的灰度图可视化,对图像可视化使用 plt.imshow 方法。 fig, ax = plt.subplots(figsize=(6, 5)) #设置图片大小 labels = labels.reshape((m,n)) pic_new = Image.new("L",(m,n)) #根据类别向图片中添加灰度值 for i in range(m): for j in range(n): pic_new.putpixel((i,j),int(256/(labels[i][j] + 1))) plt.imshow(pic_new) plt.box(False) #去掉边框 plt.axis("off")#不显示坐标轴
标签:算法 图片大小 import mamicode imp val 设置图 panda plot
原文地址:https://www.cnblogs.com/hhjing/p/14374856.html