Xem mẫu
- Ch¬ng
11
Xö lý ¶nh mµu
11.1 ChØ dÉn
CÇn nhÊn m¹nh r»ng trong c¸c ch¬ng tríc chóng ta xö lý trùc tiÕp
¶nh ®en tr¾ng (¶nh cã møc x¸m). B©y giê chóng ta sÏ quan t©m ®Õn xö lý
c¸c ¶nh mµu. B©y giê, chóng ta sÏ b¾t ®Çu xem xÐt c¸c c¬ së cña mµu
s¾c, sau ®ã chóng ta ®Ò cËp ®Õn c¸c kü thuËt ¸p dông trong xö lý ¶nh
mµu. Chóng t«i sÏ ®Ò cËp ®Õn bé läc 2-D cho ¶nh mµu, vµ tr×nh bµy tr×nh
tù xö lý ¶nh mµu dùa trªn tr×nh tù xö lý ¶nh ®en tr¾ng. Chóng t«i còng sÏ
ph¸t triÓn mét kü thuËt läc ¶nh mµu cã lùa chän. §iÒu nµy cho phÐp
chóng ta ®iÒu chØnh ®îc mét s¾c mµu riªng biÖt (tint), vÝ dô nh t¨ng s¾c
mµu nµy lªn mµ kh«ng lµm thay ®æi c¸c s¾c mµu cßn l¹i trªn ¶nh.
11.2 C¬ së cña mµu s¾c
¸nh s¸ng lµ mét d¹ng cña n¨ng lîng sãng ®iÖn tõ cã bíc sãng vµo
400 m (millimicron) cho ¸nh s¸ng tÝm vµ vµo kho¶ng 700
kho¶ng tõ
m cho ¸nh s¸ng ®á (h×nh 11.1). TÊt c¶ c¸c bíc sãng nµy ®îc c¶m
nhËn bëi m¾t ngêi nh lµ mét s¾c mµu. TÊt c¶ c¸c s¾c mµu nµy n»m
trong ¸nh s¸ng tr¾ng cña mÆt trêi, víi n¨ng lîng n»m trong kho¶ng tõ
hång ngo¹i ®Õn cùc tÝm. Mµu s¾c cña mét vËt thÓ lµ mét hµm cña c¸c
bíc sãng kh«ng bÞ hÊp thô ph¶n chiÕu tõ vËt thÓ. §ã lµ lý do t¹i sao mµ
mét vËt thÓ cã c¸c mµu s¾c kh¸c nhau phô thuéc vµo ¸nh s¸ng mµ nã
®îc quan s¸t. Mét vËt thÓ khi quan s¸t díi ¸nh s¸ng mÆt trêi sÏ cã mµu
kh¸c khi nã ®îc quan s¸t díi ¸nh s¸ng ®Ìn ®iÖn.
PhÇn lín kiÕn thøc c¬ së cho hiÓu biÕt cña chóng ta vÒ mµu s¾c dùa
trªn t×m tßi cña Isaac Newton vµ häc thuyÕt quang häc cña «ng. Newton
kÕt luËn r»ng c¶m gi¸c cña chóng ta vÒ mµu s¾c lµ do t¸c ®éng sù ph¶n
x¹ cã chän läc vÒ bíc sãng c¸c tia s¸ng tíi. ¤ng ta cho r»ng mµu s¾c
vËt thÓ cã nguyªn nh©n b¾t nguån tõ ph¶n x¹ bíc sãng chän läc cña
truyÒn ®¹t c¸c tia s¸ng xuÊt ph¸t tõ vËt thÓ. Newton ®· tr×nh bµy mét hçn
hîp cña hai mµu cã phæ liªn tiÕp cho ta mét mµu phæ trung gian, nhng
hçn hîp cña hai mµu cã phæ xa nhau ®á vµ lam cho ta mµu ®á tÝa, mét
mµu kh«ng phæ. ¤ng ta còng giíi thiÖu mét lo¹t mµu mµ khi tæng hîp víi
nhau cho mµu tr¾ng. ¤ng gäi c¸c mµu nµy lµ c¸c mµu chÝnh, bao gåm
227
- b¶y mµu: ®á, da cam, vµng, lôc, lam, chµm, tÝm, vµ ®îc dïng ®Ó tÝnh
c¸c mµu cã bíc sãng kh¸c nhau.
Thùc tÕ, cuèi cïng ngêi ta ®· kh¸m ph¸ ra r»ng bÊt kú mµu nµo còng
®îc t¹o ra bëi mét tû lÖ thÝch hîp cña ba mµu cã phæ riªng biÖt, mµ bÊt
kú mµu nµo trong sè ba mµu nµy còng kh«ng thÓ t¹o ra b»ng tæng hîp
cña hai mµu cßn l¹i. Ba mµu nµy gäi lµ ba mµu riªng (mµu chÝnh), ®îc
kÕt hîp víi nhau khi tæng hîp ¸nh s¸ng mµu, ®îc t¸ch ra khi ph©n tÝch
thµnh c¸c mµu thµnh phÇn, nh giíi thiÖu trong h×nh 11.2. Trong h×nh
11.2a, hÖ thèng tæng hîp ¸nh s¸ng ®îc giíi thiÖu víi c¸c mµu riªng hay
dïng nhÊt: ®á, lôc, lam. Céng mµu ®á vµ mµu lôc kÕt qu¶ cho ta mµu
vµng. Céng ba mµu ®á, lôc, lam theo tû lÖ thÝch hîp cho ta mµu tr¾ng.
Hai mµu ®îc bæ sung, khi trén víi tû lÖ thÝch hîp, cho mµu tr¾ng. Mµu
®á t¬i, vÝ dô, khi trén víi tû lÖ bï thªm vµo cña mµu lôc, cho ta mµu
tr¾ng, nh giíi thiÖu trong tam gi¸c mµu ë h×nh 11.2a. V× vËy, mµu ®á
t¬i lµ mµu bï cña mµu lôc. C¸c ph©n tÝch riªng cho c¸c mµu nhuém
thµnh phÇn lµ phÇn bï cña c¸c mµu tæng hîp cña ¸nh s¸ng (h×nh 11.2b).
C¸c mµu riªng ph©n tÝch khi trén tû lÖ cho kÕt qu¶ lµ mµu ®en. HÇu hÕt
c¸c mµu ®Òu dùa trªn hai tam gi¸c giíi thiÖu trong h×nh 11.2.
Tia nh×n
thÊy
Tia vò trô Tia x UV
Tia Sãng radio
IR
SHF UHF VHF SW MW LW
1 1 1 1 1 1
Ao m mm m km
Da cam
500 Chµm
600 V µng
Lam
400 TÝm
Lôc
700 § á
H×nh 11.1 D¶i sãng cña c¸c ¸nh s¸ng nh×n thÊy ®îc.
§á t¬i
Lôc
§á Lam
Lôc lam Vµng
§en
Tr¾ng
Vµng
§á
Lam Lôc lam
Lôc
§á t¬i
228
(b)
(a)
- H×nh 11.2 Tæng hîp mµu theo ph¬ng ph¸p céng vµ trõ.
§Ó x¸c ®Þnh mét ¸nh s¸ng mµu th× c¸c yÕu tè sau ®©y cÇn ®Ò cËp ®Õn :
§é s¸ng hay chãi. Nã lµ tæng hîp cña ¸nh s¸ng nhËn ®îc bëi m¾t
kh«ng kÓ tíi mµu s¾c. Nã n»m trong kho¶ng tõ lê mê tèi ®Õn rÊt s¸ng
hoÆc chãi m¾t .
S¾c mµu. ChÝnh lµ mµu cã phæ tréi h¬n trong ¸nh s¸ng.
B·o hoµ mµu. Nã t¹o ra ®é tinh khiÕt phæ cña mµu trong ¸nh s¸ng.
Cho mét hçn hîp cña mµu vµ ®en tr¾ng, ®é b·o hoµ mµu ®îc t¨ng thªm
bëi t¨ng cña tæng c¸c s¾c mµu.
Nh÷ng tÝnh chÊt nµy cã thÓ m« t¶ b»ng s¬ ®å nh trong h×nh 11.3.
Cã t¸m tÝnh chÊt c¬ b¶n quyÕt ®Þnh hçn hîp cña ba mµu:
1. Mét ®iÓm mµu tæng hîp th× ®éc lËp ®èi víi ®é s¸ng trªn mét ph¹m
vi réng.
2. §é s¸ng cña mét hçn hîp c¸c mµu lµ tæng cña c¸c ®é s¸ng riªng
lÎ.
3. BÊt kú mét mµu nµo còng ®îc t¹o ra bëi mét hçn hîp kh«ng
nhiÒu h¬n ba mµu thµnh phÇn.
4. C¸c mµu thµnh phÇn kh«ng thÓ nhËn ra ®îc b»ng m¾t.
5. Mét ®iÓm mµu cã thÓ biÓu diÔn díi d¹ng biÓu thøc
C = R(R) + G(G) + B(B)
Cã nghÜa lµ R lµ ®¬n vÞ cña (R), G lµ ®¬n vÞ cña (G), B lµ ®¬n vÞ
cña (B), khi tÝnh tæng t¹o ra mét ®iÓm víi mµu C.
6. C¸c mµu ®îc kÕt hîp theo luËt céng. Gi¶ sö C1 kÕt hîp víi C2
kÕt hîp C3 kÕt hîp C4 , th× C1 + C3 kÕt hîp C2 + C4 . Quy t¾c
nµy ®îc gäi lµ luËt Grassman.
7. C¸c mµu kÕt hîp tu©n theo luËt trõ.
8. C¸c mµu kÕt hîp tu©n theo luËt b¾c cÇu. NÕu C1 kÕt hîp C2 vµ C2
kÕt hîp C3 th× C1 kÕt hîp víi C3.
229
- Giíi h¹n cña
c¶m gi¸c
S¸ng nhÊt
Lam
Lôc
B·o hoµ
TÝa
Mµu s¾c
§á Vµng
Tèi nhÊt
H×nh 11.3 Thuéc tÝnh cña mµu.
11.2.1 NhËn biÕt mµu s¾c
M¾t ngêi cã hai bé phËn c¶m nhËn ¶nh: tÕ bµo nãn vµ tÕ bµo gËy.
Chóng n»m trªn mµng trong cïng cña m¾t, gäi lµ vâng m¹c, vµ chóng
c¶m nhËn vËt thÓ qua ¶nh cña vËt thÓ ®ã trªn vâng m¹c. Trong toµn bé
m¾t th× c¸c tÕ bµo nãn cã vµo kho¶ng s¸u ®Õn b¶y triÖu. Chóng n»m tËp
trung ë vÞ trÝ trung t©m cña vâng m¹c gäi lµ hè vâng m¹c, vµ cã ®é nh¹y
c¶m cao ®èi víi mµu s¾c. Con ngêi së dÜ cã thÓ ph©n biÖt ®îc c¸c chi
tiÕt lµ v× c¸c tÕ bµo nãn nµy ®îc nèi víi c¸c d©y thÇn kinh ë phÝa cuèi.
¶nh thu ®îc tõ c¸c tÕ bµo nãn nµy gäi lµ c¸c h×nh ¶nh ®é s¸ng. Sè tÕ bµo
gËy th× rÊt lín, vµo kho¶ng tõ 75 cho ®Õn 100 triÖu vµ chóng ®îc ph©n
bè ®Òu kh¾p bÒ mÆt vâng m¹c. Sù ph©n bè réng cïng víi thùc tÕ lµ tÕ bµo
gËy ®Òu ®îc nèi mét d©y thÇn kinh riªng t¹o ra kÕt qu¶ lµ sù tæng hîp
c¸c chi tiÕt bëi bé phËn c¶m nhËn nµy. TÕ bµo gËy cung cÊp cho ta mét
h×nh ¶nh toµn bé cña vËt thÓ kh«ng bao gåm c¸c chi tiÕt vÒ mµu s¾c vµ ®é
s¸ng. Trong ¸nh s¸ng mê th× chØ cã tÕ bµo gËy bÞ kÝch thÝch vµ vËt thÓ
hiÖn lªn nh mét ¶nh kh«ng cã mµu s¾c. §Æc tÝnh nµy gäi lµ kh¶ n¨ng
thÝch øng nh×n tèi.
230
- Lý do mµ con ngêi cã thÓ ph©n biÖt ®îc mµu s¾c th× hiÖn nay vÉn
cha ®îc lµm râ rµng. Mét gi¶ thiÕt lµ m¾t con ngêi cã ba lo¹i tÕ bµo
nãn, mçi lo¹i cho c¶m øng víi mét lo¹i mµu s¾c riªng lµ: ®á, lôc, lam.
C¶m nhËn cña c¸c tÕ bµo nãn nµy ®îc tr¶i ra trªn mét d¶i tÇn sè réng.
Sau nhiÒu lÇn thö nghiÖm, c¸c mµu riªng ®· ®îc chuÈn ho¸ bëi ñy ban
CIE (Commission International d'Eclairage). C¸c mµu riªng theo tiªu
chuÈn cña CIE bao gåm: mµu ®á (700 nm), mµu lôc (546,1 nm), mµu lam
(435,8 nm). M¾t cña con ngêi cho mét c¶m nhËn tèt nhÊt ®èi víi c¸c
mµu riªng nµy so víi c¸c mµu cßn l¹i. C¶m nhËn mµu s¾c phô thuéc rÊt
lín vµo ®é s¸ng. Mµu s¾c ®îc c¶m nhËn tèt h¬n khi ®é s¸ng t¨ng lªn.
Mét ¶nh tèt thùc sù th× sÏ cho mét c¶m nhËn cao h¬n vÒ ®é s¸ng so víi
c¸c ¶nh cßn l¹i. Trong h×nh 11.4 ®a ra ®êng cong c¶m nhËn ®é s¸ng
cña m¾t ngêi ®èi víi c¸c ¸nh s¸ng cã bíc sãng kh¸c nhau víi cïng
mét møc n¨ng lîng. M¾t ngêi c¶m nhËn tèt nhÊt víi mµu lôc (bíc
sãng vµo kho¶ng 555 nm). Kh¶ n¨ng ph©n biÖt sù chuyÓn dÇn mµu sang
c¸c mµu t¬ng tù bÞ h¹n chÕ. ChÝnh v× h¹n chÕ nµy cña m¾t ngêi mµ mét
sè s¶n phÈm vÒ mµu ®îc s¶n xuÊt trong thùc tÕ vÉn tho¶ m·n yªu cÇu,
thËm chÝ ngêi ta cã thÓ c¾t bít mét sè trong phæ mµu thùc.
11.2.2 BiÓu thøc mµu
C¸c mµu riªng RGB: ®á (Red), lôc (Green), lam (Blue) lµ c¸c mµu
riªng vËt lý ®îc dïng trong c¸c thÝ nghiÖm vËt lý thùc sù. C¸c mµu riªng
nµy kh«ng ph¶i lµ duy nhÊt vµ ta cã thÓ dïng c¸c mµu riªng kh¸c ®Ó thay
thÕ. Vµo n¨m 1938, CIE ®· ®a ra mét tËp c¸c mµu riªng kh«ng vËt lý,
ký hiÖu lµ X, Y, Z. C¶i tiÕn chÝnh trong tËp mµu nµy lµ ®é s¸ng ®îc ®a
ra trùc tiÕp nh lµ mét mµu riªng (Y). Y sÏ cho ta møc x¸m tõ ¶nh mµu.
C¸c mµu riªng nµy ®îc rót ra tõ c¸c mµu riªng vËt lý theo biÕn ®æi tuyÕn
tÝnh cho bëi :
X = 2.7690R + 1.7518G + 1.1300B
Y = 1.0000R + 4.5907G + 0.0601B (11.1)
Z = 0.0000R + 0.0565G + 5.5943B
231
- 1.0
Quan hÖ ®é s¸ng
0.8
0.6
0.4
0.2
0
(nm)
400 500 600 700
Vµng cam
§á cam
Lam
TÝm
Lôc
§á
H×nh 11.4 Sù c¶m nhËn cêng ®é s¸ng cña m¾t ngêi.
C¸c biÓu thøc nµy lµ ®óng cho bÊt kú mµu nµo. Dùa trªn c¸c X, Y, Z s¬
®å mµu CIE ®· ®îc ph¸t triÓn. S¬ ®å nµy lµ mét kh«ng gian biÓu diÔn
cho tÊt c¶ c¸c mµu cã phæ vµ tæng hîp cña chóng (H×nh 11.5). To¹ ®é
mµu rót ra tõ :
D=X+Y+Z
X Y Z
(11.2)
x y z
D D D
x+y+z=1
y
(G')
1.0
0.9 (G)
. Bíc sãng
0.8
0.7
Lôc
0.6
Vµng
0.5
C¸c s¾c mµu kh¸c
0.4
Tr¾ng
.
Lôc lam
§á
.
0.3
(R)
0.2
§á t¬i
Lam
232
0.1
.
(B)
0
x
0.1 0.3 0.5 0.7 0.8
0.2 0.4 0.6
- H×nh 11.5 BiÓu ®å mµu CIE.
Trong s¬ ®å CIE mét lo¹t c¸c mµu cã phæ ®îc cho däc theo ®êng
cong, c¸c gãc biÓu diÔn cho ba mµu riªng: ®á, lôc, vµ lam. GÇn trung t©m
cña miÒn n»m trong tam gi¸c c¸c mµu trë nªn Ýt b·o hoµ h¬n, biÓu diÔn
cho hçn hîp mµu. Mµu tr¾ng n»m t¹i ®iÓm trung t©m w víi to¹ ®é x = y =
0.3333.
S¬ ®å mµu trªn chøa c¸c mµu víi cïng mét ®é s¸ng. NÕu ®é s¸ng cña
mµu ®îc cho bëi gi¸ trÞ cña z t¹i gãc bªn ph¶i cña mÆt ph¼ng x-y, tÊt c¶
c¸c mµu víi ®é s¸ng cña nã sÏ cã d¹ng nh h×nh 11.6. NÕu ®é s¸ng t¨ng
lªn, s¬ ®å mµu sÏ trë nªn réng h¬n vµ sÏ cã nhiÒu chi tiÕt mµu tr«ng thÊy.
T¹i c¸c møc ®é s¸ng thÊp, c¸c mµu trë nªn kkã ph©n biÖt vµ s¬ ®å sÏ thu
hÑp l¹i mét ®iÓm, biÓu diÔn cho mµu ®en.
11.3 ¶nh mµu
NÕu b¹n kiÓm tra mµn h×nh cña mét tivi khi nã ®îc bËt lªn, b¹n sÏ
chó ý thÊy t¹i tÊt c¶ c¸c ®iÓm ¶nh mµu ®îc t¹o nªn b»ng ba vßng trßn
nhá hoÆc tam gi¸c cã mµu ®á, lôc, lam. Sù thay ®æi ®é s¸ng cña ba phÇn
tö mµu nµy t¹o nªn mµu s¾c cña ®iÓm ¶nh. Trong ¶nh sè th× c¸c ®iÓm ¶nh
®îc biÓu diÔn b»ng mét sè tõ cã cïng mét sè bit cho c¸c mµu ®á, lôc,
lam. VÝ dô nh ¶nh mµu ®îc biÓu diÔn b»ng 16 bit th× ®Òu cã 5 bit ®Ó
biÓu diÔn cho mçi mµu, bit cuèi cïng dïng cho mét vµi chøc n¨ng ®Æc
biÖt nh ng¨n xÕp. Trong mét khung sè th× bit cuèi cïng th«ng thêng ®Ó
chØ ra ®iÓm ¶nh nµy ®îc lÊy tõ bé ®Öm khung (bé nhí ng¨n xÕp) hay lµ
tõ tÝn hiÖu video bªn ngoµi (ng¨n xÕp trùc tiÕp). Trong hÖ thèng 16 bÝt
32,768 mµu cã thÓ ®îc biÓu diÔn víi ba mµu riªng cã kh¶ n¨ng thÓ hiÖn
32 tr¹ng th¸i. CÊu t¹o cña mét ®iÓm ¶nh cho trong b¶ng 11.1.
G
§é chãi
W
Bãng x¸m
R
§en
B
233
- H×nh 11.6 H×nh chãp mµu.
11.4 TÝnh s¬ ®å mµu cho c¸c hÖ thèng mµu 15 bit vµ 8 bit
§Ó lµm më réng hiÓu biÕt cña chóng ta vÒ hçn hîp mµu, chóng ta sÏ
lµm mét ch¬ng tr×nh tÝnh vµ thÓ hiÖn s¬ ®å mµu cho hÖ thèng 15 bit (5
bÝt cho mét mµu) vµ hÖ thèng mµu 8 bit (256 mµu). HÖ thèng 15 bit mµu
mµ chóng ta sö dông lµ Professional Image Board (PIB) cña Atronics
International, Inc. (ATI). VØ m¹ch nµy ®îc thiÕt kÕ ®Ó thÓ hiÖn ¶nh cã
kÝch thíc 512 256 hoÆc lµ 512 512 ®iÓm, víi tÊt c¶ c¸c ®iÓm biÓu
diÔn b»ng 16 bit. 16 bit nµy ®îc chia nh trong b¶ng 11.1. VØ m¹ch
VGA cã kh¶ n¨ng thÓ hiÖn 256 mµu víi tÊt c¶ c¸c mµu thÓ hiÖn b»ng 6
bit. Tæng sè mµu mµ vØ m¹ch VGA cã thÓ tÝnh ra lµ 218 = 262,144. Dï thÕ
nµo ®i ch¨ng n÷a th× chØ cã 256 mµu ®îc sö dông. Mét vØ m¹ch nµy
t¬ng ®¬ng nh lµ thiÕt bÞ video mµu 8 bit.
b¶ng 11.1 BiÓu diÔn cña ®iÓm ¶nh mµu 16 bit
BÝt 0 ®Õn bÝt 4 Lam
BÝt 5 ®Õn bÝt 9 Lôc
BÝt 10 ®Õn bÝt 14 §á
BÝt 15 Overlay
VØ m¹ch ATI PIB ®îc chia ra lµm hai m· nguån: mét b»ng Microsoft
Assembly cho c¸c ch¬ng tr×nh vµo ra c¬ b¶n, mét b»ng Microsoft C cho
c¸c ch¬ng tr×nh chÝnh (nh lÊy ra khung ¶nh hoÆc lµ söa l¹i mµu). MÆc
dï b¹n cã thÓ ®a ra phÇn lín c¸c ch¬ng tr×nh trong ch¬ng nµy mµ
kh«ng cÇn vØ m¹ch lu gi÷ khung mµu, nhng ®Ó lµm cho ®Çy ®ñ c«ng
viÖc t«i khuyªn b¹n nªn sö dông mét vØ m¹ch cã chÕ ®é Ýt nhÊt lµ 512
256. Nã kh«ng qu¸ ®¾t, thËm chÝ nã rÎ h¬n mét sè vØ m¹ch ®en tr¾ng. T«i
sÏ cung cÊp cho b¹n c¸c ch¬ng tr×nh con dïng cho lo¹i vØ m¹ch nµy,
nÕu b¹n cã mét lo¹i vØ m¹ch kh¸c th× kh«ng ph¶i lµ khã kh¨n l¾m ®Ó viÕt
l¹i c¸c söa ®æi cho phï hîp. Ch¬ng tr×nh mµ t«i ®a ra trong ch¬ng nµy
®îc viÕt b»ng Turbo C. Nã sÏ ®ßi hái ph¶i cã mét thay ®æi nhá trªn m·
nguån cung cÊp cho vØ m¹ch ATI, PIBTOOL.C vµ IMGIO.ASM. §Ó dÞch
vµ liªn kÕt thµnh mét ch¬ng tr×nh (tªn lµ CHROM.C) b¹n cã thÓ lµm
234
- ®iÒu nµy th«ng qua Project trªn menu lùa chän cña m«i trêng ph¸t triÓn
kÕt hîp hoÆc lµ ®¸nh dßng lÖnh DOS :
tcc chrom.c pibtool.c imgio.asm
Tríc khi xö lý, b¹n sÏ cÇn viÕt mét file "custom.h" chøa mét lo¹t c¸c
ch¬ng tr×nh nguån sö dông trong hai ch¬ng tr×nh IMGIO.ASM vµ
PIBTOOL.C. Danh s¸ch cña "custom.h" ®îc cung cÊp sau ch¬ng tr×nh
11.1. §Æt "custom.h" n»m ë th môc con Turbo C.
Ch¬ng tr×nh cho vØ m¹ch PIB ®îc viÕt cho kiÓu 512 256. C¸c b¹n
còng cã thÓ dïng nã víi kiÓu 512 512 mµ kh«ng cÇn cã mét sù thay ®æi
nµo. NÕu b¹n muèn sö dông ®Çy ®ñ kh¶ n¨ng cña kiÓu 512 512 th× b¹n
cÇn mét sè thay ®æi nhá. NÕu kh¶ n¨ng tµi chÝnh kh«ng cho phÐp b¹n cã
mét vØ m¹ch nh vËy, th× b¹n cã thÓ dïng vØ m¹ch VGA thay thÕ.
B©y giê chóng ta sÏ quay l¹i víi s¬ ®å mµu CIE. M· nguån dïng trong
ch¬ng tr×nh 11.1 cho hiÖn lªn s¬ ®å mµu trªn mét monitor mµu dïng vØ
m¹ch PIB.
Ch¬ng tr×nh 11.1 "CHROM.C".Displaying the chromaticity
diagram.
#include
/* Program for displaying the chromaticity diagram
using the ATI PIB board, 512x256 version. */
void main()
{
unsigned i,R,G,B;
int xp,yp;
float x,y,X,Y,Z,D;
InitPIB(); /* Initials the PIB to the
internal display mode.*/
SetInDispMode();
/* Sets PIB to the internal
Sync display mode and also enables
the direct memory access. */
SetScreen(0); /* Display page 0 512x256. */
FillPibRect(0,0,0,511,255,0);
/* Clear screen.
235
- FillPibRect(color,xl,yl,x2,y2,mode);
fills the rectangle area specified by
the two corners (xl,yl) and (x2,y2) with
color.
mode=0 for set the pixel to the value specified.
mode=1 for 'exclusive or' the pixel
with the value specified.
mode=2 for 'and' the pixel with the
value specified.*/
for(i=1;i>5;
R=(0x7C00 & i)>10;
X=2.7690*R+1.7518*G+1.1300*B;
Y=R+4.5907*G+0.0601*B;
Z=0.0565*G+5.5943*B;
D=X+Y+Z ;
x=X/D; y=Y/D;
xp=(int)(400.0*x+60.0+0.5);
yp=(int)(200.0-y*200.0+0.5);
PutPixel(&i,xp,yp,0); /* PutpixeI(*vaIue,x,y,mode) */
}
}
File include "custom.h" chøa c¸c mét lo¹t ch¬ng tr×nh con cung cÊp
bëi ATI. NÕu cha ®îc cung cÊp bëi ATI b¹n cã thÓ tù viÕt lÊy c¸c
ch¬ng tr×nh nµy. LiÖt kª cho "custom.h" cung cÊp ë díi ®©y.
"custom.h"
void SetScreen(int);
int CaptureFrame(void);
void SetInDispMode(void);
void SetExtDispMode(void);
void SetLiveMode(void);
void SetHue(int);
void SetContrast(int);
void SetSaturation(int);
void Bright(int);
void SetInterlace(int);
236
nguon tai.lieu . vn