intTypePromotion=3

Xử lý ảnh - file ảnh pcx

Chia sẻ: Asg Ahsva | Ngày: | Loại File: PDF | Số trang:4

0
86
lượt xem
8
download

Xử lý ảnh - file ảnh pcx

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ả

Chủ đề:
Lưu

Nội dung Text: Xử lý ảnh - file ảnh pcx

  1. F 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 ®Õn c 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 ¶nh P CX nh­ h×nh vÏ sau: H ×nh 1. CÊu tróc file ¶nh PCX I . 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ê.
  2. 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 l­u 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 l­u 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 nused I V. Ch­¬ng tr×nh minh ho¹ ®äc ¶nh PCX 256 mµu
  3. 1 . 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 ch­a 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 ¶nh 2 . 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 ch­a hÕt tÖp;
  4. 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 I f (bit 7 - i cña B lµ 1) Then PC[8*t+i]:= PC[8*t+i] + (2 mò i); 1 24,214,56,157,198,212,202,12 1 24, 56,56,...,56,157,212,...,212,12,12,...,12 x 1, x 2, x3, ..., xn l1,d1,l2,d2,..., lk,dk 2 55,127
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản