import numpy as np
import cv2
import os
# Path to the uploaded image
image_path = "/mnt/data/404614311_891495322548092_4664051338560382022_n.webp"
# Load the image
image = cv2.imread(image_path)
# Resize for faster processing
image_small = cv2.resize(image, (200, 200))
# Convert to LAB for better color clustering
image_lab = cv2.cvtColor(image_small, cv2.COLOR_BGR2LAB)
pixels = image_lab.reshape((-1, 3))
# KMeans to extract main colors
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=6, random_state=42).fit(pixels)
colors = kmeans.cluster_centers_.astype(int)
# Convert colors back to RGB
colors_rgb = cv2.cvtColor(np.array([colors], dtype=np.uint8), cv2.COLOR_Lab2BGR)[0]
colors_rgb_list = colors_rgb.tolist()
colors_rgb_list