Rabu, 23 Mei 2012
Procedure Get_YCbCr dan Get_TSL VB 6.0
Public Sub Get_YCbCr(Red As Integer, Green As Integer, Blue As Integer, _
Y As Single, Cb As Single, Cr As Single)
Y = (0.222 * Red) + (0.707 * Green) + (0.07 * Blue)
Cb = (-0.159 * Red) + (-0.332 * Green) + (0.05 * Blue)
Cr = (0.5 * Red) + (-0.419 * Green) + (-0.081 * Blue)
End Sub
'==============================================
Public Sub Get_TSL(Red As Integer, Green As Integer, Blue As Integer, _
Tint As Single, Sat As Single, Light As Single)
Dim rr As Single, gg As Single, Phi As Single
'========== ada masalah DEBUG ==============
Phi = 3.14
rr = (Red / (Red + Green + Blue)) - (1 / 3)
gg = (Green / (Red + Green + Blue)) - (1 / 3)
'lightness
Light = (0.299 * Red) + (0.587 * Green) + (0.114 * Blue)
'saturation
Sat = (9 / (5 * (rr ^ 2 + gg ^ 2))) ^ 0.5
'Mencari Tint
If gg = 0 Then
Tint = 0
ElseIf gg < 0 Then
Tint = (Atn(rr / gg) / (2 * Phi)) + (3 / 4)
ElseIf gg > 0 Then
Tint = (Atn(rr / gg) / (2 * Phi)) + (1 / 4)
End If
End Sub
Author : Yusron Rijal, MT
Langganan:
Postingan (Atom)