Đồ họa máy tính - 26

primary) nằm trong khoảng 0-120 độ, từ 120 - 240 độ là màu xanh lục tới xanh lơ (green primary - blue primary). Từ 240 - 360 là từ màu đen tới lại màu đỏ.

Theo như cách biểu diễn không gian màu theo hình trụ thì đi từ giá trị độ sáng

(V) được biểu diễn bằng cách đi từ dưới đáy hình trụ lên và nằm trong khoảng từ 0-1. Ở đáy hình trụ V có giá trị là 0, là tối nhất và trên đỉnh hình trụ là độ sáng lớn nhất (V

= 1). Đi từ tâm hình trụ ra mặt trụ là giá trị bão hòa của màu sắc (S). S có giá trị từ 0 -

1. 0 ứng với tâm hình trụ là chỗ mà màu sắc là nhạt nhất. S = 1 ở ngoài mặt trụ, là nơi mà giá trị màu sắc là đậm đặc nhất.

Như vậy với mỗi giá trị (H, S, V) sẽ cho ta một màu sắc mà ở đó mô tả đầy đủ thông tin về màu sắc, độ đậm đặc và độ sáng của màu đó

6.3.5. Mô hình màu HLS

Xác định bởi tập hợp hình chóp sáu cạnh đôi của không gian hình trụ

Sắc màu là góc quanh trục đứng của hình chóp sáu cạnh đôi với màu đỏ tại góc 00, tuy nhiên chúng ta đặt màu đỏ tại 00

Các màu vẽ xác định theo thứ tự giống như trong biểu đồ CIE khi ranh giới của nó bị xoay ngược chiều kim đồng hồ: Màu đỏ, màu vàng, màu lục, màu lam và đỏ thẫm. Điều này cũng giống như thứ tự sắp xếp trong mẫu hình chóp sáu cạnh đơn HSV Mẫu HLS là một sự biến dạng của màu HSV mà trong đó mẫu này màu trắng

Có thể bạn quan tâm!

Xem toàn bộ 240 trang tài liệu này.

được kéo hướng lên hình chóp sáu cạnh phía trên từ mặt V=1. Như với hình chóp ở sáu cạnh đơn, phần bổ xung của một màu sắc được đặt ở vị trí 180𝑜 hơn là xung quanh hình chóp sáu cạnh đôi, sự bão hòa được đo xung quanh trục đứng, từ 0 trên trục tới 1 trên bề mặt. Độ sáng (lightness)=0 cho màu đen và bằng 1 cho màu trắng

Mẫu HLS cũng giống mô hình HSV là tính dễ sử dụng .Tất cả các màu xám đều có S=0 và các màu bão hòa đạt trị số lớn nhất tại S=1, L=0.5 . Nếu thiết bị đo điện kế được sử dụng để xác định tham số mô hình màu thực tế L phải là 0.5 để đạt tới màu mạnh nhất, đó là một bất lợi của mẫu HSV trong trường hợp S=1 và V=1 đạt được giống nhau. Tuy nhiên tương tự như mẫu HSV các màu của mảng L=0.5 tất cả chúng đều giống nhau là không nhận màu sáng. Vì thế hai màu khác nhau nhận độ sáng như nhau sẽ có giá trị của L khác nhau.

1.0 L


White



Cyan


Green


0.5


Yellow


Red


Blue White


H

S

0.0

Black


Hình 6.12. Mô hình màu HLS

6.3.6. Chuyển đổi giữa các hệ màu


1) Chuyển đổi từ mô hình RGB


Mô hình màu RGB bao gồm giá trị của màu đỏ, xanh lá cây và xanh dương với phạm vi giá trị từ [0 .. 255]

Để dễ dàng cho việc chuyển đổi ta chuyển phạm vi các giá trị màu này thành

[0..1]

a) RGB sang HSB

Nguyên tắc chuyển đổi

H nằm trong khoảng [0, 360]

S, V, R, G, B có giá trị trong đoạn [0, 1]


V MAX Trong công thức trên • H Hue Vùng màu có giá trị xác định trong 1


V MAX Trong công thức trên • H Hue Vùng màu có giá trị xác định trong 2

V = MAX

Trong công thức trên:

• H: (Hue) Vùng màu có giá trị xác định trong khoảng từ 0 đến 360 độ

• S: (Saturation) Độ bão hòa màu nằm trong khoảng từ 0 đến 1

• B (hay V): (Bright hay Value) Độ sáng nằm trong khoảng từ 0 đến 1

• R (Red) : nằm trong khoảng từ 0 đến 1

• G (Green): nằm trong khoảng từ 0 đến 1

• B (Blue): nằm trong khoảng từ 0 đến 1

• MIN : là giá trị nhỏ nhất trong 3 đại lượng màu cơ bản là R,G,B giá trị nằm trong khoảng từ 0 đến 1

• MAX: là giá trị lớn nhất trong 3 đại lượng màu cơ bản là R,G,B giá trị nằm trong khoảng từ 0 đến 1

• Undefined: là không xác định

• Otherwise: trường hợp khác Ví dụ:

Cho hệ màu RGB với các tham số : R= 100, G=150, B=200.Chuyển đổi sang

hệ màu HSB Bước 1: Chuyển phạm vi giá trị của R, G, B từ [0..255] sang [0..1]

Ta có:

r = 100/255 = 0,39

g = 150/255 = 0,59

b = 200/255 = 0,78

Bước 2:Tìm giá trị lớn nhất, nhỏ nhất trong 3 giá trị r, g, bmin = 0,39 = r

max =0,78 = b Bước 3 : Xác định các tham số của hệ màu HSB

3.1 ) Xác định giá trị của H: Vì max = b nên áp dụng công thức ta có:H = 60* (r-g)/(max - min) + 240 = 210

3.2 ) Xác định giá trị của S:Vì max # 0 nên :

S = 1- min/max =0,39/0.78 = 0.53.3 ) Xác định giá trị của B:

Áp dụng công thức ta có : B = max = 0,78Bước 4: Chuyển các giá trị của S và B sang giá trị % ta có

S = 0,5 = 50%

B = 0,78 = 78%

Vậy sau quá trình chuyển đổi nhờ áp dụng các công thức trên ta thu được từ hệ màuRGB với các tham số R = 100, G = 150, B = 200 sang

HSB với các tham số H = 210 độ, S = 50%, B = 78%

b) RGB sang HSL

Nguyên tắc chuyển đổi

H có giá trị trong đoạn [0, 360]

S, L, R, G, B nằm trong đoạn [0, 1]


L MAX MIN 2 Trong công thức trên • H Hue Vùng màu có giá trị xác định 3


L MAX MIN 2 Trong công thức trên • H Hue Vùng màu có giá trị xác định 4

L = ( MAX + MIN )/2

Trong công thức trên:

• H: (Hue) Vùng màu có giá trị xác định trong khoảng từ 0 đến 360 độ

• S: (Saturation) Độ bão hòa màu nằm trong khoảng từ 0 đến 1

• L: Lightness (độ chói hoặc Độ sáng hoặc cường độ) nằm trong khoảng từ 0 đến 1

• R (Red) : nằm trong khoảng từ 0 đến 1

• G (Green): nằm trong khoảng từ 0 đến 1

• B (Blue): nằm trong khoảng từ 0 đến 1

• MIN : là giá trị nhỏ nhất trong 3 đại lượng màu cơ bản là R,G,B giá trị nằm trong khoảng từ 0 đến 1

• MAX: là giá trị lớn nhất trong 3 đại lượng màu cơ bản là R,G,B giá trị nằm trong khoảng từ 0 đến 1

• Undefined: là không xác định Ví dụ:

Cho hệ màu RGB với các tham số : R= 100, G=150, B=200.Chuyển đổi sang

hệ màu HSB Bước 1: Chuyển phạm vi giá trị của R, G, B từ [0..255] sang [0..1]

Ta có:

r = 100/255 = 0,39

g = 150/255 = 0,59

b = 200/255 = 0,78

Bước 2:Tìm giá trị lớn nhất, nhỏ nhất trong 3 giá trị r, g, bmin = 0,39 = r

max =0,78 = b Bước 3 : Xác định các tham số của hệ màu HSL

3.1 ) Xác định giá trị của H:

Vì max = b nên áp dụng công thức ta có:H = 60* (r-g)/(max - min) + 240 = 210

3.2 ) Xác định giá trị của L:

L = 1/2 * (max + min ) = 0.585

Vì L > 1/2 nên S = ( max – min ) / ( 2- 2*L) = 0.48Bước 4 : Chuyển các giá trị của H và L sang giá trị % ta có :

S = 0,48 = 48 %

L = 0,59 = 59 %

Vậy sau quá trình chuyển đổi nhờ áp dụng các công thức trên ta thu được từhệ màu RGB với các tham số R = 100, G = 150, B = 200 sang HSL với các tham số H = 210 độ, S = 48%, L = 59%

c) RGB sang CMYK

Nguyên tắc chuyển đổi :

R, G, B nằm trong đoạn [0, 1]

t C'M'Y ' = {1 - R , 1 - G , 1 - B } là phần tử C,M,Y có giá trị trong đoạn [0,1] K = min { C ', M', Y ' }

t CMYK = {0, 0, 0, 1} nếu K = 1

t CMYK = {( C '- K ) / (1 - K ), ( M '- K ) / (1 - K ), ( Y '- K ) / (1 - K ), K } K

khác Trong đó:

• R (Red) : nằm trong khoảng từ 0 đến 1

• G (Green): nằm trong khoảng từ 0 đến 1

• B (Blue): nằm trong khoảng từ 0 đến 1

• C (Cyan): nằm trong khoảng từ 0 đến 1

• M (Magenta): nằm trong khoảng từ 0 đến 1

• Y (Yellow): nằm trong khoảng từ 0 đến 1

• K (Key-Black) : nằm trong khoảng từ 0 đến 1


Ví dụ:

Cho hệ màu RGB với các tham số : R= 100, G=150, B=200.Chuyển đổi sang hệ màuCMYK

Bước 1: Chuyển phạm vi giá trị của R, G, B từ [0..255] sang [0..1]Ta có:

r = 100/255 = 0,39

g = 150/255 = 0,59

b = 200/255 = 0,78

Bước 2 : Xác định giá trị của C, M, Y:C‘ = 1 - R = 0,61

M‘ = 1 - G = 0,41Y‘ = 1 - B = 0,22

Bước 3 : Xác định giá trị của K: K = min (C‘,M‘,Y‘) = 0.22 <=> K # 1

C = ( C‘- K ) / (1 - K ) = 0,5

M = (M‘- K ) / (1 - K) = 0,25

Y = (Y‘ – K ) / (1 – K ) = 0

Bước 4 : Chuyển các giá trị C, M, Y, K sang giá trị % ta có:C = 0,5 =50 %

M = 0,25 = 25 %

Y = 0 = 0 %

K = 0,22 = 22 %

Vậy sau quá trình chuyển đổi từ hệ màu RGB với R = 100, G =150, B=200 ta thu đượchệ màu mới CMYK với các giá trị lần lượt là:

C = 50% , M = 25%, Y =0%, K = 22%

2 Chuyển đổi từ mô hình CMYK

a) CMYK sang RGB

t RGB = {(1 - C ) x (1 - K ), (1 - M ) x (1 - K ), (1 - Y ) × (1 - K )}

Trong đó:

• R (Red) : nằm trong khoảng từ 0 đến 1

• G (Green): nằm trong khoảng từ 0 đến 1

• B (Blue): nằm trong khoảng từ 0 đến 1

• C (Cyan): nằm trong khoảng từ 0 đến 1

• M (Magenta): nằm trong khoảng từ 0 đến 1

• Y (Yellow): nằm trong khoảng từ 0 đến 1

• K (Key-Black) : nằm trong khoảng từ 0 đến 1 Ví dụ : Cho hệ màu CMYK với các tham số lần lượt là :

C = 50% , M = 25%, Y =0%, K = 22%

Chuyển đổi hệ màu trên sang hệ màu RGB Bước 1 : Chuyển phạm vi các giá trị sang [0..1]

Ta có:


C = 50% = 0.5

M = 25% = 0,25

Y = 0% = 0

K = 22% = 0,22


Bước 2 : Xác định các giá trị màu R, G , B Áp dụng công thức trên ta có:

R = ( 1 - C ) * (1- K) = 0,39

G = ( 1 - M ) * (1 - K) = 0,59

B = ( 1 - Y ) * (1 - K) = 0,78

Bước 3 : Chuyển các giá trị màu từ hệ [0..1] sang hệ [0..255] R = 0,39 * 255 = 100

G = 0,59 * 255 = 150

B = 0,78 * 255 = 200

Vậy sau quá trình chuyển đổi từ hệ màu CMYK với các tham số lần lượt là C = 50% , M = 25%, Y =0%, K = 22%

Ta thu được hệ màu mới RGB tương ứng với các tham số là:

R = 100, G= 150, B = 200


b) CMYK sang HSV

Bước 1: Chuyển CMYK sang RGB Bước 2 : Chuyển RGB sang HSV

c) CMYK sang HSL

Bước 1: Chuyển CMYK sang RGB Bước 2 : Chuyển RGB sang HSL

3) Chuyển đổi từ mô hình HSB

a) HSV sang RGB

H nằm trong đoạn [0, 360]

S, V, R, G, B nằm trong đoạn [0, 1]

Hi = [ H / 60] mod 6 // phép lấy phần dư theo modulo 6

f = ( H / 60) - H i p = V (1 - S )

q = V (1 - f S )

t = V (1 - (1 - f ) S )

nếu Hi = 0 thì R = V, G = t , B = p ; nếu Hi = 1 thì R = q , G = V , B = p ; nếu Hi = 2 thì R = p , G = V , B = t ; nếu Hi = 3 thì R = p , G = q , B = V ; nếu Hi = 4 thì R = t , G = p , B = V ; nếu Hi = 5 thì R = q , G = V , B = p ; Trong đó :

H: (Hue) Vùng màu có giá trị xác định trong khoảng từ 0 đến 360 độ S: (Saturation) Độ bão hòa màu nằm trong khoảng từ 0 đến 1

V: (Value) Độ sáng nằm trong khoảng từ 0 đến 1 R (Red) : nằm trong khoảng từ 0 đến 1

G (Green): nằm trong khoảng từ 0 đến 1 B (Blue): nằm trong khoảng từ 0 đến 1

Ví dụ : Cho hệ màu HSV với các tham số lần lượt là H = 210 độ, S = 50%, V = 78% Chuyển đổi hệ màu trên sang RGB

Bước 1: Chuyển các giá trị S, V sang hệ [0,1]

S = 50% = 0,5

V = 78% = 0,78

Bước 2 : Áp dụng công thức xác định Hi , f, p, q, t:

Xác định Hi để biết vị trí của màu trong vòng tròn màu được chia làm 6 phần: Hi = (H /60) mod 6

Phép mod là phép chia lấy phần dư theo modulo 6 Ví dụ : 6 mod 6 đồng dư với 0 mod 6

1 mod 6 đồng dư với 7 mod 6

Áp dụng vào bài toán ta được : Hi = 210/60 = 3,5 = 3 theo modulo 6


f = ( H / 60) - H i = 3,5 – 3 = 0,5

p = V (1 - S ) = 0,78*( 1 – 0,5) = 0.39

q = V (1 - f S ) = 0,78 *( 1- 0,5*0,5) = 0,585

t = V (1 - (1 - f ) S ) = 0,78* (1 - ( 1 - 0,5 ) * 0,5) = 0,195

Bước 3 : Xác định R, G, B theo vị trí của Hi trên vòng tròn màu Ở đây Hi = 3 nên ta áp dụng công thức

Nếu Hi = 3 thì R = p, G= q, B = V

R = 0,39 G = 0,585 B = 0,78

Bước 4 : Chuyển các giá trị màu từ hệ [0..1] sang hệ [0..255]

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 28/06/2022