Çekilen bir resimdeki renk paletini veya renklerin skalasını aşağıdaki kodlar yardımıyla elde edebilirisiniz. Resim boyutu çok yüksek ise sonucu görmek için biraz bekleyebilirsiniz.
from PIL import Image
Image.open('flower-1.jpg')
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
image = mpimg.imread("flower-1.jpg")
w, h, d = tuple(image.shape)
pixels = np.reshape(image, (w * h, d))
from sklearn.cluster import KMeans
n_colors = 10 # change this to get more or fewer colors
model = KMeans(n_clusters=n_colors, random_state=42).fit(pixels)
palette = np.uint8(model.cluster_centers_)
plt.imshow([palette])
plt.show()

R Programlama İle Bir Resmin Renk Paletini Göstermek
Bu defa resmi internetten bulacağız. İnternetten bulduğunuz bir resmin URL'sini kodların içinde ekleyerek sonucu görebilirsiniz. Sonuçta flower-1-palette.jpg adında bir resim üzerinde renk paletinizi görebilirsiniz. Bu işlem biraz uzun sürebilir ve bilgisayarınızda kasmalar olabilir.
install_and_load <- function(package_name) {
if (!require(package_name)) {
install.packages(package_name, repos = "https://cloud.r-project.org")
library(package_name, character.only = TRUE)
}
}
library(jpeg)
library(RCurl)
library(reshape2)
library(ggplot2)
library(kohonen)
install_and_load(c(jpeg, RCurl, reshape2, ggplot2, kohonen))
download.file("https://example.com/flower-1.jpg", destfile = "flower-1.jpg", method = "curl")
img <- readJPEG("flower-1.jpg")
w <- dim(img)[1]
h <- dim(img)[2]
d <- dim(img)[3]
pixels <- melt(img)
n_colors <- 10 # Daha fazla veya daha az renk elde etmek için bu değeri değiştirin
model <- kmeans(pixels, centers = n_colors, nstart = 10)
palette <- as.integer(round(model$centers))
palette_image <- matrix(palette, nrow = 1, ncol = n_colors)
colnames(palette_image) <- NULL
jpeg("flower-1-palette.jpg")
par(mar = c(0, 0, 0, 0))
image(palette_image, col = palette, axes = FALSE)
dev.off()
