我想使用K均值或其他算法(需要建议)对图像进行聚类。
问题是这样的- 我想将图像分成3个群组(自然,日落,水)。我使用os.listdir()加载了所有的图像,然后将所有图像转换为数组(RGB),并创建了一个包含三列的数据框-ID、Image_array、Label。
现在,当我使用K均值聚类,并提供n_clusters = 3时,它显示以下错误:
from sklearn.cluster import KMeans kmeans = KMeans(n_clusters = 3).fit(img_array) ERROR = Found array with dim 4. Estimator expected <= 2.
现在,我需要您在此聚类问题上的帮助。我创建的数据框如下所示:
img_array = []
path = "C://Users/shivam/Desktop/freelancer/p22/data/green_nature/"
for f in os.listdir('.'):
if f.endswith('.jpg'):
img = Image.open(f)
data = np.asarray(img, dtype='uint8')
img_array.append(data)
df = pd.DataFrame({'image_arrays':img_array})
df['id'] = range(1, len(df) + 1)