我期待通過rgb值分離「棕色」顏色。不只是1棕色,但廣泛的顏色被認爲是棕褐色,絨面革,污垢等。通過rgb值分離棕色
有關如何做到這一點的任何想法?我在想,也許如果紅色小於128,綠色是在70到138之間,藍色小於128,那麼看起來就像棕色。沿着這些線的東西。
我期待通過rgb值分離「棕色」顏色。不只是1棕色,但廣泛的顏色被認爲是棕褐色,絨面革,污垢等。通過rgb值分離棕色
有關如何做到這一點的任何想法?我在想,也許如果紅色小於128,綠色是在70到138之間,藍色小於128,那麼看起來就像棕色。沿着這些線的東西。
一個非常簡單的規則將通過3是這樣的,在pythony僞
def isBrown(red, green, blue):
# Kind of maximum lightness
if blue > parameter_1
return False
# how green or red tinted can it be
if absolute_value(red - green) > parameter_2:
return False
# Light brown is just yellow or orange
if maximum_of(red, green) > parameter_3:
return False
else:
return True
調諧參數1,直到它很好地工作。也許用if absolute_value(red - green*parameter_2b) > parameter_2a:
替換if absolute_value(red - green) > parameter_2:
,以便根據parameter_2b
選擇更多綠色或紅色的。也許把maximum_of
改成別的。等等。
這真的取決於你認爲是棕色的。它是一個顏色範疇,具有相當高的主體間可變性和強烈的背景效果(它旁邊的顏色會改變它的外觀)。
認爲你需要使用像這樣的東西:http://www.colorpicker.com/,看看你決定的顏色的形狀,然後解決如何在算法上表達。
謝謝,盧卡斯。在這個應用程序中,我無法控制在可能的棕色旁邊顯示什麼顏色 - 我沒有想過。我想知道是否有人曾經嘗試過這樣的算法,所以我沒有重新發明輪子。 – James
他們有完全不同的假設和複雜程度。那就是問題所在。這完全取決於你在做什麼以及你爲什麼這樣做。如果你只是想要一種啓發式的作品,可以測試數字是否在給定的範圍內。我建議你看看這個:http://www1.icsi.berkeley.edu/~kay/claire7.pdf,但也看到我的其他答案。 – Lucas