有没有一段完整的代码
时间: 2023-07-02 18:18:26 浏览: 69
是的,下面是完整的代码,包括读取PNG图片和使用K-means算法进行无监督分类。
```python
from PIL import Image
import os
import numpy as np
from sklearn.cluster import KMeans
# 读取PNG格式的图片
path = "D:/wjd/"
images = []
for file_name in os.listdir(path):
if file_name.endswith(".png"):
image = Image.open(path + file_name)
images.append(image)
# 将图片转换为numpy数组
image_arrays = []
for image in images:
image_array = np.array(image)
image_arrays.append(image_array)
# 使用K-means对图片进行聚类
kmeans = KMeans(n_clusters=2, random_state=0).fit(image_arrays)
labels = kmeans.labels_
# 根据标签将图片分成两类
fcc_images = []
bcc_images = []
for i in range(len(images)):
if labels[i] == 0:
fcc_images.append(images[i])
else:
bcc_images.append(images[i])
# 打印分类结果
print("FCC images:")
for image in fcc_images:
print(image.filename)
print("BCC images:")
for image in bcc_images:
print(image.filename)
```
你需要将`path`变量设置为你PNG图片所在的路径,然后运行这段代码即可。这段代码将PNG图片分成两类:FCC和BCC,并输出分类结果。
阅读全文