#любой_язык #цвета
Два дня тому назад, отключили интернет и пришлось быть без интернета. Вместо музыки на сайте слушал приложение Windows "Музыка Groove". И тут я заметил интересную вещь: приложение брало изображение саундтрека и аддитивным смещением вычисляло средний цвет всего изображения. Саундтреки MARVEL были взяты для примера. Как это можно реализовать? Подойдут решения на WPF, Windows Forms, ASP.NET или просто на HTML/CSS/Javascript.
Ответы
Ответ 1
Python-скрипт на основе примера из документации OpenCV: import cv2 import numpy as np from sklearn.cluster import KMeans from collections import Counter def get_dominant_color(image, k=4): image = image.reshape((image.shape[0] * image.shape[1], 3)) clt = KMeans(n_clusters=k) labels = clt.fit_predict(image) label_counts = Counter(labels) dominant_color = clt.cluster_centers_[label_counts.most_common(1)[0][0]] return list(dominant_color) bgr_image = cv2.imread('image.png') hsv_image = cv2.cvtColor(bgr_image, cv2.COLOR_BGR2HSV) dom_color = get_dominant_color(hsv_image) dom_color_hsv = np.full(bgr_image.shape, dom_color, dtype='uint8') dom_color_bgr = cv2.cvtColor(dom_color_hsv, cv2.COLOR_HSV2BGR) output_image = np.hstack((bgr_image, dom_color_bgr)) cv2.imshow('Dominant Color', output_image) cv2.waitKey(0)
Комментариев нет:
Отправить комментарий