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
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 ...
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ìm kiếm theo từ khóa liên quan:
kỹ thuật xử lý ảnh công nghệ xử lý ảnh phương pháp xử lý ảnh hướng dẫn xử lý ảnh kinh nghiệm xử lý ảnhGợi ý tài liệu liên quan:
-
Giáo trình Khai thác phần mềm ứng dụng
247 trang 107 0 0 -
65 trang 85 3 0
-
51 trang 77 0 0
-
21 trang 59 0 0
-
8 trang 48 0 0
-
393 trang 46 0 0
-
Ứng dụng phương pháp xử lý ảnh bằng Matlab để phân tích ảnh chuyển động của một vật thể
8 trang 44 0 0 -
Đồ án tốt nghiệp: Thiết kế, thi công bãi giữ xe ứng dụng công nghệ RFID và xử lý ảnh
85 trang 44 0 0 -
Xây dựng hệ thống nhận dạng lỗi tự động của tấm pin năng lượng mặt trời
3 trang 37 0 0 -
Đồ án tốt nghiệp: Robot vận chuyển mẫu xét nghiệm trong bệnh viện
117 trang 36 0 0