Danh mục

Xử lý ảnh - file ảnh pcx

Số trang: 4      Loại file: pdf      Dung lượng: 193.42 KB      Lượt xem: 15      Lượt tải: 0    
Hoai.2512

Phí lưu trữ: miễn phí Tải xuống file đầy đủ (4 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu xử lý ảnh - file ảnh pcx, công nghệ thông tin, đồ họa - thiết kế - flash phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Xử lý ảnh - file ảnh pcxF ile ¶nh PCX NÕu ta h×nh dung trong mét tÖp ¶nh xÕp liªn tiÕp c¸c byte tõ ®Çu ®Õnc uèi vµ dån chóng vµo trong mét hép ch÷ nhËt, th× cã thÓ h×nh dung tÖp ¶nhP CX nh h×nh vÏ sau: H ×nh 1. CÊu tróc file ¶nh PCXI . D ata of Image 1 . ¶ nh 24 bit  M ç i ®iÓm ¶nh chiÕm 3 byte m« t¶ ba thµnh phÇn: Red, Green, Blue. 2 . ¶ nh 256 mµu  D ÷ liÖu mçi ®iÓm ¶nh chiÕm 1 byte, chØ sè hiÖu mµu cña ®iÓm ¶nh n µy. Mµu cña ®iÓm ¶nh ®îc m« t¶ trong b¶ng mµu. Gi¶ sö byte m« t¶ ®iÓm ¶nh cã gi¸ trÞ lµ b, b¶ng mµu ®îc chøa trong m¶ng P, th× thµnh phÇn c¸c mµu cña ®iÓm ¶nh nµy lµ P[b].R, P[b].G, P[b].B.  D ÷ liÖu ®îc nÐn theo thuËt to¸n RUN_LENGTH víi 2 bit cao lµm cê 3 . ¶ nh 16 mµu  M çi ®iÓm ¶nh ®îc m« t¶ bëi mét con sè, cã gi¸ trÞ tõ 0 ®Õn 15. D o vËy, gi¸ trÞ mçi ®iÓm ¶nh chØ cÇn 4 b it ®Ó m« t¶.  D ÷ liÖu ¶nh ®îc m· ho¸ theo mÆt ph¼ng bit, sau ®ã nÐn theo thuËt to¸n RUN- LENGTH víi 2 bit cao lµm cê.I I. C olor Palette (B¶ng mµu) 1 . ¶ nh 24 bit: T Öp ¶nh kh«ng cã b¶ng mµu 2 . ¶ nh 256 mµu  B ¶ng mµu chiÕm 256*3=768 byte, ®îc ®Æt ë cuèi tÖp  M çi mµu ®î c m« t¶ bëi 3 byte, thÓ hiÖn c¸c thµnh phÇn: RED, G REEN vµ BLUE.  G i¸ trÞ cña c¸c thµnh phÇn RED, GREEN vµ BLUE ®îc lu tr÷ ë 6 b it cao. 3 . ¶ nh 16 mµu  B ¶ng mµu chiÕm 16*3=48 byte  M çi mµu ®îc m« t¶ bëi 3 byte, thÓ hiÖn c¸c thµnh phÇn: RED, G REEN vµ BLUE.  G i¸ trÞ cña c¸c thµnh phÇn BLUE, GREEN vµ RED ®îc lu tr÷ ë 6 b it cao.  K h«ng phô thuéc vµo sè lîng mµu, 48 byte cña b¶ng 16 mµu lu«n c ã mÆt trong phÇn Header.I II. Header H eader cña c¸c tÖp ¶nh PCX gåm 54 byte, ®îc m« t¶ chi tiÕt trong b¶ng sau: F ile Header Sè ý n ghÜa N éi b ytes d ung 1 S ign 10 1 V ersion 1 E ncode 1 B itsPerPixel 4 X 1,Y1 above - left co - ordinates of image 4 X 2,Y2 below - right co - ordinates of image 2 H orizontal Discrimination (meter) 2 V ertical Discrimination (meter) 48 C olor Pal ette of 16 colors 1 V ideo Mode 1 N umber of bit’s plane 2 N umber of bytes per line (after encode bits p lanes) 60 U nusedI V. Ch¬ng tr×nh minh ho¹ ®äc ¶nh PCX 256 mµu1 . S¬ ®å C h¬ng tr×nh minh ho¹ chØ ®äc ¶nh 256 mµu. 1 . M ë tÖp ¶nh 2 . § äc 128 byte Header; DataPos := FilePos(F); 3 . S eeek(F,FileSize(F) - 768); §äc 768 byte B¶ng mµu 4 . K hëi t¹o chÕ ®é ®å ho¹ 5 . T ¹o d÷ liÖu b¶ng mµu 6 . N ¹p b¶ng mµu 7 . § äc vµ vÏ c¸c ®iÓm ¶nh: a . S eek(F,DataPos); b . S è ®iÓm ¶nh trªn dßng := Sè mÆt ph¼ng bit * Sè byte trªn d ßng; c . F or i:= Header.Y1 to H eader.Y2  L:=0;  W hile L < S è ®iÓm ¶nh trªn dßng D o a) § äc d÷ liÖu vµo byte B nÕu cha hÕt tÖp; b ) I f B >= 192 then  S LL := B - 1 92;  § äc tiÕp d÷ liÖu vµo byte B; E lse SLL:=1; c) F or i:=0 to SLL - 1 do PL[SLL+i]:=B; d ) S LL = L + SLL;  For j:=Header.X1 to Hea der.X2 Vex(j, i, PL[j]); 8 . § ãng tÖp ¶nh2 . Mét sè khai b¸o chÝnh H eader : Record S ign,Version,Encode,BitPerPixel : B yte; X1,Y1,X2,Y2, Hres,Vres : I nteger; P alette : A rray [0..15,1..3] of Byte; Vmode, Planes : B yte; B ytesPerLine : Integer; Unused : A rray [1..60] of Byte; E nd; Gi¶i nÐn theo RUN_LENGTH 1 . Sè ®iÓm ¶nh trªn dßng := Sè mÆt ph¼ng bit * Sè byte trªn dßng; 2 . L:=0; 3 . While L < S è ®iÓm ¶nh trªn dßng Do a. § äc d÷ liÖu vµo byte B nÕu cha hÕt tÖp; b . If B >= 192 then  S LL := B - 1 92;  § äc tiÕp d÷ liÖu vµo byte B; E lse SLL:=1; c. For i:=1 to SLL do PL[L+i]:=B; d . L = L + S LL; Gi¶i m· BIT_PLANE: 1 . I f (Sè mÆt ph¼ng bit =1) Then PC:=PL 2 . I f Sè mÆt ph¼ng bit >1 F or b it:=0 T o S è mÆt ph¼ng bit - 1 Do  d oan := bit *Sè byte trªn dßng;  F or t:=0 to Sè byte trªn dßng - 1 do * B :=PL[doan+t]; * F or i:=0 to 7 do ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: