簡體   English   中英

將RGB Colors統一排序在Python

[英]Sort RGB Colors Uniformly in Python

我有一段代碼可以找到圖像中最主要的 colors 並將它們作為 RGB 值返回。 我嘗試對它們進行排序,以便創建漸變圖像,但它們排序不正確。

img = Image.open(r'C:\Users\Dora\Projects\Python\Album-Gradient\{}'.format(filename))
palette = dominant_colors(img) #getting dominant rgb values
palette.sort(key=lambda rgb: colorsys.rgb_to_hsb(*rgb))
print(palette) #printing sorted rgb values as a list
#then I convert them into a gradient image

這是我得到的漸變圖像。

如您所見,黑色之前是深黃色。

如您所見,黑色之前是深黃色。 colors 排序不均勻,梯度中有噪聲。 如何對 RGB 值進行排序,使其從黑色到彩虹的 colors 再到白色,或者從白色到彩虹的 colors 再到黑色?

(類似於黑色=>灰色=>深色=>淺色=>白色)

EDIT1:這是完整代碼的鏈接: GitHub Repo此外,如果有幫助,漸變總是由 5 colors 組成。

在將它們轉換為 HSL 后根據它們的“亮度”值對它們進行排序解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM