我想使用K Means或其他算法(建議需要)對圖像進行聚類。Python中的聚類 - 圖像聚類
問題就像這樣 - 我想將圖像聚類爲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)
是的,這似乎interesting.But我堅持,你可以幫我在這。 如何獲得直方圖(我其實也試圖得到這個)。現在,我試圖讓平均代替三維數組。如果您請提供更多幫助,那將非常有幫助。 –
我在想這個3D數組轉換成二維數組,它有平均值和標準偏差,這在我運行K平均值時會好,但是這個數組是RGB數組。我的意思是如何做到這一點? –
np.mean(image_arrays,axis = 2)? https://docs.scipy.org/doc/numpy/reference/generated/numpy.mean.html – TheLaurens