程式介面
載入一張.bmp的圖檔
將圖片轉成灰階只保留亮度(Y)
在左邊的YUV色彩模型中,隨機 取一種
顏色將U和V的色彩值替換 。
HSI色彩模型介面
I = 0.5
心得二:HSI TO RAB
在做第二個程式遇到的困難不外乎就是角度的問題,第一象限保持atan(y/x),第二象限是atan(y/x)+pi,第三象限是atan(y/x)+pi,第四象限是atan(y/x)+(2*pi),但剛開始做的我卻把pi的直放到atan(y/x)裡面做運算導致所算出來弧度,一直介於(-pi/2~pi/2)之間,一直以為這樣就把角度的問題搞定了(事實上是搞定了),但我卻將(0 < H < 120)......直接將這一段寫到程式裡面去,沒有改成(0 < H && H< 120) ,導致圖片一直被後面的色彩直覆蓋掉,出來的圖就只有(240~360)那一區域的顏色,一直到老師幫我檢查時,才發現@@。而最後做出來的圖片中間看起來會有三個比較暗得圈圈,我試者把I的值條大,而黑色的圈也漸漸消失了,但是做出來得圖片還是沒有辦法像網路上的一樣,能夠使顏色與顏色之間的分隔很明顯,即使用了網路上所提供的公式來做還是沒有辦法。
H=0
R = I + 2IS
G = I - IS
B = I - IS.
If 0 < H < 120, then
R = I + IS*cos(H)/cos(60-H)
G = I + IS*[1 - cos(H)/cos(60-H)]
B = I - IS.If H = 120,
then the red, green, and blue values are
R = I - IS
G = I + 2IS
B = I - IS.
If 120 < H < 240, then
R = I - IS
G = I + IS*cos(H-120)/cos(180-H)
B = I + IS*[1 - cos(H-120)/cos(180-H)].
If H = 240 then
R = I - IS
G = I - IS
B = I + 2IS.
And if 240 < H < 360, we have
R = I + IS*[1 - cos(H-240)/cos(300-H)]
G = I - IS
B = I + IS*cos(H-240)/cos(300-H).
網站:http://www.had2know.com/technology/hsi-rgb-color-converter-equations.html
沒有留言:
張貼留言