色階對應演算法
發布時間: 2023-08-17 15:37:18
A. C# winfrom 判斷兩個顏色的差值 容差
關於魔棒、油漆桶工具容差選項的演算法
魔棒、油漆桶工具是根據設定的容差值以及兩種顏色的色差進行選擇的,容差大於等於色差,則選擇,反之則不選擇。兩種顏色色差的計算辦法如下:
色差=兩種顏色對應通道色階差的正最大值-兩種顏色對應通道色階差的負最小值,如果沒有正值或負值,則正最大值或負最大值以0計。實際上也就是某種顏色偏離取樣色的最大范圍(包括正向和負向)。
舉個例子:10,40,100;80,20,200。
對應通道色階差的正最大值=40-20=20;
對應通道色階差的負最小值=100-200=-100;
那麼,色差=20-(-100)=20+100=120
如果容差大於等於120,則兩種顏色可以互選,否則不選。
對於LAB,則與RGB同理,只不過L是以底層的通道階值來計算的,而不是直接以0--100%來度量的。
對於CMYK,則是用理論方法將其轉到CMY空間,然後根據CMY來計算。同樣要注意的是,是以256級階值來計算色差的,而不是0--100%的墨量值來計算了。
還有一點需要說明的是,魔棒、油漆桶的容差與色彩范圍中的容差不同。魔棒、油漆桶的容差只能進行二值選擇,而色彩范圍的容差則可以進行部分選擇,二者的內部演算法是不同的。
另外,「擴大選取」和「選取相似」命令也是基於魔棒的容差設置自動進行選取的。有兩點需要注意:
(1)連續進行擴大選取和選取相似時,相應的擴展量會有所衰減,這在邏輯上是可以理解的,旨在逐步提高選取的精度。
(2)這兩個命令是基於蟻形線進行的操作,對於部分選擇的選區,執行這兩個命令之後將失去羽化的邊緣。如果選區沒有大於50的部分,則這兩個命令沒有意義。
熱點內容