Kỹ thuật thu nhận ảnh image representation and modeling
Trang 12
thu nhận ảnh
image representation and modeling
Chơng này giới thiệu quá trình thu nhận ảnh cũng nh các thiết bị dùng trong hệ thống xử lý ảnh Tiếp theo là quá trình lấy mẫu và lợng tử hoá ảnh Đồng thời cũng giới thiệu một số phơng pháp biểu diễn ảnh, các kiểu tệp và cấu trúc của chúng dùng trong lu trữ ảnh nh IMG, PCX,TIFF, Cuối cùng, trình bày nguyên tắc tái hiện ảnh gồm các
kỹ thuật Bayer Dithering, Rylander Pattern Matrix
2.1 các thiết bị thu nhận ảnh và kỹ thuật phân tích màu
2.1.1 Thiết bị thu nhận ảnh
Một hệ thống xử lý ảnh có thể trang bị kèm theo các hệ thống thông tin địa lý - GIS ( Geographical
Information System) hay hệ MORPHO (giá khoảng7 đến 8 triệu USD) hoặc có thể là hệ thống máy tính cá nhân Các
thiết bị thu ảnh thông thờng gồm máy quay (camera) cộng với bộ chuyển đổi tơng tự số AD(Analog to Digital) hoặc máy quét (scanner) chuyên dụng
Các thiết bị thu nhận ảnh này có thể cho ảnh trắng đen B/W (Black & White) với mật độ từ 400 đến 1600 dpi (dot per inch) hoặc ảnh màu 600 dpi Với ảnh B/W mức màu z là 0 hoặc 1 Với ảnh đa cấp xám, mức xám biến
Khi dùng scanner, một dòng photodiot sẽ quét ngang ảnh (quét theo hàng) và cho ảnh với độ phân giải ngang khá tốt Đầu ra của scanner là ảnh ma trận số mà ta quen gọi là bản đồ ảnh (ảnh Bitmap) Bộ số hoá (digitalizer) sẽ tạo
ảnh vector có hớng
Trong xử lý ảnh bằng máy tính, ta không thể không nói đến thiết bị monitor (màn hình) để hiện ảnh Monitor
có nhiều loại khác nhau:
- CGA : 640 x 320 x 16 màu,
- EGA : 640 x 350 x 16 màu,
- VGA : 640 x 480 x 16 màu,
- SVGA: 1024 x 768 x 256 màu
Với ảnh màu, có nhiều cách tổ hợp màu khác nhau Theo lý thuyết màu do Thomas đ a ra từ năm 1802, mọi màu đều có thể tổ hợp từ 3 màu cơ bản: Red (đỏ), Green (lục) và Blue (lơ)
Thiết bị ra ảnh có thể là máy in đen trắng, máy in màu hay máy vẽ (plotter) Máy vẽ cũng có nhiều loại: loại dùng bút, loại phun mực
Nhìn chung, các hệ thống thu nhận ảnh thực hiện 2 quá trình:
2.1.2 Biểu diễn màu
ánh sáng màu là tổ hợp của ánh sáng đơn sắc Mắt ngời chỉ có thể cảm nhận đợc vài chục màu, song lại có thể phân biệt đợc tới hàng ngàn màu Có 3 thuộc tính chủ yếu trong cảm nhận màu:
- Brightness: sắc màu, còn gọi là độ chói
- Hue : sắc lợng, còn gọi là sắc thái màu
- Saturation: độ bão hoà
Với nguồn sáng đơn sắc, độ hue tơng ứng với bớc sóng Độ bão hoà thay đổi nhanh nếu ta thêm lợng ánh
sáng trắng Hình 2.1 mô tả mối liên quan giữa các đại lợng trên và 3 màu chủ yếu R, G và B
Với một điểm W* cố định, các kí hiệu G, R, B chỉ vị trí t ơng đối của các phổ màu đỏ, lục và lơ Do sự tán sắc ánh sáng (ứng với khai triển Fourier) mà ta nhìn rõ màu Theo Maxwell, trong võng mạc mắt có 3 loại tế bào hình nón cảm thụ 3 màu cơ bản ứng với 3 phổ hấp thụ S1(), S2() và S3()
White
- Một màu bất kỳ sẽ là một điểm lines of greys W*
Trang 2trên vòng tròn Hue
- Nếu White và Black là nh G S S R
nhau thì đờng tròn là lớn nhất
và R là điểm bão hoà. B
- S thay đổi theo bán kính Saturation
- H thay đổi theo góc - W* là sẵc màu
Black Hình 2.1 Hệ toạ độ màu RGB min = 380 nm; max = 780 nm
S1() S2() S3()
100
80
60
40
20
0 400 500 600 650
yellow green blue
Hình 2.2 Các đờng cong cảm nhận S1, S2 và S3. Theo lý thuyết 3 màu, phân bố phổ năng lợng của một nguồn sáng màu ký hiệu là C() và tổ hợp màu theo nguyên tắc 3 màu có thể mô tả bằng hình 2.3 dới đây:
1 (C)C)) c(C)) 2 (C)C))
3 (C)C)) Hình 2.3 Nguyên tắc tổ hợp màu. Do đó, i(C) = S i m in m a x ()c()d với i = 1, 2, 3 (2.1) i(C) gọi là đáp ứng phổ (spectral responses) Phơng trình 2.1 gọi là phơng trình biểu diễn màu Nếu C1() và C2() là hai phân bố phổ năng lợng tạo nên các đáp ứng phổ 1(C1) và 2(C2) mà i(C1) = i(C2), với i =1, 2, 3 thì hai màu C1 và C2 là nh nhau (sánh đợc) 2.1.3 Tổng hợp màu và sánh màu Nhập môn xử lý ảnh số - ĐHBK Hà nội 11
s 1 (C)x)c(C))d
s 2 (C)x)c(C))d
s 3 (C)x)c(C))d
Trang 3Một trong các vấn đề cơ bản của lý thuyết biểu diễn màu là sử dụng một tập các nguồn sáng (màu) để biểu diễn màu Theo lý thuyết 3 màu của Thomas, ngời ta hạn chế số màu còn 3 màu cơ bản: đỏ, lục và lơ Giả sử rằng ba
max
min
k
1
3
m i n
m a x
()[
k
1
3
k()pk( )] d =
k
1
3
k()
max
min
pk( )Si()d
=
k
1
3
k()ai,k với ai,k =
max
min
pk( )Si()d
tổng hợp Phơng pháp này hay đợc dùng trong các ảnh dân dụng
Lý thuyết tổng hợp màu trên cho phép đa ra một số luật sánh màu sau:
i) mọi màu có thể sánh bởi nhiều nhất 3 màu
ii) nguồn sáng của một màu tổng hợp bằng tổng nguồn sáng các màu thành phần
iii) nếu màu C1 sánh đợc với màu C1' và C2 sánh đợc với màu C2' thì:
- 1 C1+ 2 C2 = 1C1'+ 2 C2' : luật cộng màu
- nếu C1+ C2 = C1'+ C2' và C2 = C2' thì C1 = C1'
iv) luật bắc cầu: nếu C1 = C2 và C2 = C3 thì C1 = C3
dấu = ở trên có nghĩa là sánh đợc
2.1.4 Hệ toạ độ màu
Tổ chức quốc tế về chuẩn hoá màu CIE(Commision Internationale d'Eclairage) đa ra một số các chuẩn để biểu diễn màu Các hệ này có các chuẩn riêng ở đây chỉ đề cập đến chuẩn màu CIE-RGB (hệ toạ độ dùng 3 màu cơ bản)
viết:
Px =
red
green
blue
Ngời ta dùng hệ toạ độ ba màu R-G-B(tơng ứng với hệ toạ độ x-y-z) để biểu diễn màu nh sau:
Blue (lơ)
(0,0,1) lơ (0,0,1) Tím xanh
Tím (1,0,1) (1,1,1) vàng đậm
(0,0,0) đen (0,1,0) lục Green (lục)
(1,0,0) đỏ (1,1,0) vàng
Red (đỏ)
Trong cách biểu diễn này ta có công thức: đỏ + lục + lơ =1 Công thức này gọi là công thức Maxell Trong hình vẽ trên, tam giác tạo bởi ba đờng đứt đoạn gọi là tam giác Maxell Ta cũng có thể chuyển từ hệ toạ độ 3 màu về
hệ toạ độ x-y-z
2.2 Lấy mẫu và lợng tử hoá (Image Sampling and quantization)
Trang 4Yêu cầu cơ bản nhất trong xử lý ảnh bằng máy tính là đa ảnh về dạng biểu diễn số thích hợp, nghĩa là ảnh phải đ ợc biểu diễn bởi một ma trận hữu hạn tơng ứng với việc lấy mẫu ảnh trên một lới rời rạc và mỗi pixel đợc lợng hoá bởi một số hữu hạn bit ảnh số đợc lợng hoá có thể đợc xử lý hay chuyển qua bớc biến đổi số tơng tự - DA(Digital to Analog) để tái hiện trên thiết bị hiện ảnh
2.2.1 Quét ảnh (Image scanning)
Phơng pháp chung để lấy mẫu là quét ảnh theo hàng và mã hoá từng hàng Về nguyên tắc, một đối t ợng, phim hay giấy trong suốt sẽ đợc chiếu sáng liên tục để tạo nên một ảnh điện tử trên tấm cảm quang Tuỳ theo các loại camera mà tấm cảm quang này là chất quang dẫn hay quang truyền Hệ thống camera ống sử dụng ph ơng pháp scan-out-digitalizer; còn hệ thống camera CCD(Charge Coup;ed Device) cho ảnh ma trận
f(x,y) fi(x,y) u(m,n) u(m,n)
ảnh vào
Hình 2.4 Lấy mẫu và lợng hoá Camera CCD thực sự là thiết bị mẫu hoá tín hiệu 2 chiều và gọi là ph ơng pháp sefl-scanning matrix Nguyên tắc của 2 phơng pháp đợc minh hoạ qua hình 2-6 trang bên Lý thuyết mẫu hoá 2 chiều - ảnh với dải giới hạn (Band limited Images) Một hàm f(x,y) gọi là dải giới hạn nếu khai triển Fourier F(1, 2) của nó là 0 bên ngoài miền bao (hình 2.5) F(1, 2) = 0 với 1 > x0 , 2 > y0 (2.2) Với x0 và y0 là dải giới hạn theo x và y của ảnh Quá trình số hoá ảnh có thể hiểu nh mô hình tín hiệu dải giới hạn Một ảnh dải giới hạn f(x,y) thoả mãn ph -ơng trình 2.2 và đợc lấy mẫu đều trên một lới hình chữ nhật với bớc nhảy x, y có thể khôi phục lại không có sai sót dựa trên các giá trị mẫu f(mx,ny) Theo lý thuyết lấy mẫu trong xử lý tín hiệu, nếu tần số lấy mẫu theo x, y lớn hơn 2 lần dải giới hạn x0, y0 hay tơng đơng với: 1
x = xs > 2 x 0,
1 y = ys > 2 y0 thì có thể khôi phục đợc Tỉ số này do Nyquist đề xuất và mang tên tỉ số Nyquist F(1, 2) 2
20
- 10 10 1
x0 1 y0
-y0
2
Hình 2.5 Khai triển Fourier của hàm dải giới hạn. Nhập môn xử lý ảnh số - ĐHBK Hà nội 13
Hiện
Trang 5Hình 2.6 Phơng pháp lấy mẫu & lợng hoá ảnh
Hơn nữa, việc khôi phục lại ảnh có thể nội suy theo công thức:
xs xs
ys ys
m n
( , )(sin( )
( ) ) )(
sin( )
,
Trong thực tế, nhiễu ngẫu nhiên luôn có mặt trong tín hiệu ảnh Do đó, lý thuyết lấy mẫu ở trên phải đ ợc mở rộng với một số kỹ thuật khác nh: lới không vuông, lới bát giác Để đơn giản khi trình bày, những kỹ thuật này không nêu ở đây Độc giả có quan tâm xin tham khảo tài liệu[1]
2.2.2 Lợng hoá ảnh (Image Quantization)
2.2.2.1 Khái niệm và nguyên tắc lợng hoá ảnh
Lợng hoá ảnh là bớc kế tiếp của việc lấymẫu, nhằm thực hiện một ánh xạ từ một biến liên tục u sang một
tuân theo nguyên tắc sau:
trị lớn nhất của u
Cách đơn giản nhất là dùng lợng hoá đều Theo phơng pháp này, giả sử đẩu ra của một bộ cảm biến ảnh nhận
bởi:
256
( k )
với k =1, 2, ,257; rk = tk - 5
Đại lợng q = tk - tk-1 = rk - rk-1 là hằng số với các giá trị k và gọi là khoảng lợng hoá
Trong phần này, ta chỉ xem xét các bộ lợng hoá không bộ nhớ (zero memory quantizer), có nghĩa là đầu ra chỉ phụ thuộc duy nhất là đầu vào Các bộ lợng hoá kiểu này rất có ích trong kỹ thuật mã hoá ảnh nh mã hoá điều xung PCM (Pulse Code Modulation), PCM vi phân, chuyển mã, v v Chú ý rằng, ánh xạ l ợng hoá này không thuận nghịch, nghĩa là với một đầu ra đã cho, đầu vào là không duy nhất Vì vậy, ng ời ta đã nghiên cứu bổ xung nhiều kỹ
camera
Chiếu sáng
(C)illumination)
object/phim (C)đối tợng chiếu sáng) đích
a) Phơng pháp số hoá Scan-out
Bộ
Chuyển
Mạch Bộ
điều khiển Lợng hoá
(Switch
&logic u(C)m,n)
control)
b) Phơng pháp Self-scanning array
Trang 6thuật khác nhau để cực tiểu hoá biến dạng, tăng hiệu quả Một kỹ thuật phổ dụng là trung bình bình phơng cực tiểu
(do Lloyd-max đề xuất) chúng ta sẽ mô tả dới đây
Hình 2.7 Mô hình bộ lợng hoá.
2.2.2.2 Kỹ thuật lợng hoá trung bình bình phơng cực tiểu
Kỹ thuật này nhằm cực tiểu hoá sai số trung bình bình phơng đối với một số mức lợng hoá đã cho Cho u là
t
t
P u du
L
u
1
1
(2.4) Nhiệm vụ là tìm min của
Viết lại (2.4) ta có:
=
i
L
1
(u r) ( ) t
t
P u du
i i
u
1
1
i=0, 1, ., L-1 (2.5)
(tk -rk-1)2Pu(tk) - (tk - rk) 2Pu(tk) = 0
2
tk
tk
1
(u - rk)Pu(u)du = 0
Lu ý rằng tk tk-1, do đó giá trị của tk và rk cho bởi:
tk = (rk - rk-1)/2 k = 1, 2, L (2.6)
và rk=
up u du t
t
p u du t
t u
u
k k
k k
( ) ( )
1
1 k = 0, 1, , L-1 (2.7)
Thông thờng hệ phơng trình (2.6), (2.7) là không tuyến tính
Kết quả trên chứng tỏ rằng mức dịch chuyển tối u nằm trên nửa đờng của các mức xkhôi phục lại Các mức khôi phục lại tối u nằm tại trọng tâm của phân bố mật độ giữa các mức dịch chuyển
Newton để giải phơng trình trên Khi số mức lợng hoá lớn, ngời ta dùng phơng pháp xấp xỉ mật độ xác suất nh một
hàm hằng khôn ngoan (picewise) pu(u) = pu(vi) với vi = (ti + ti+1); ti ≤ u < ti+1 Thay giá trị mới của pu(u) vào 2.5 và tính
Nhập môn xử lý ảnh số - ĐHBK Hà nội 15
u*
u Bộ u* đầu ra
lợng hoá
u
lỗi lợng hoá
Trang 7ti+1 =
t t
t u
u ti ti
k
[ ( )]
[ ( )]
/
/
1 3
1 3
1 1
(2.8)
với A = tL+1 - t1 và rk = (k/L)A, k=1,2, ,L Từ đó ta dễ dàng tính đợc giá trị của sai số ε (*)
Các hàm mật độ thờng dùng là hàm Gauss và hàm Laplace
Hàm Gauss có dạng:
Pu(u) = 1
2
2 2
exp( (u ) ) (2.9) Hàm Laplace có dạng: Pu(u) = α/2 * exp(-α│u-à│) (2.10)
trong đó:
Trờng hợp đặc biệt, nếu phân bố là đều thì hệ phơng trình (2.6) & (2.7) là tuyến tính và sẽ cho ta
các khoảng đều nhau giữa các mức dịch chuyển và mức khôi phục lại Do vậy, phép l ợng hoá này có tên là lợng hoá tuyến tính
Giả sử hàm mật độ cho bởi công thức: 1/(tL+1 - t1) nếu ti ≤ u ≤ ti+1
pu(u) = 0 khác đi
Từ phơng trình (2.7) ta có:
rk = t t
k k
k k
k k
2 1 2 1
1
)
do đó tk = (tk+1 - tk)/2 tk = tk-1 = tk+1 - tk = const = q
Cuối cùng ta có q = (tL+1 -t1)/L; tk = tk-1 + q; rk = tk - q/2 (2.12)
Nh vậy, mọi mức dịch chuyển và mức khôi phục lại đều cách đều Sai số của phép l ợng hoá là u - u* sẽ phân phối đều trên khoảng (-q/2 , q/2) Sai số trung bình bình phơng sẽ là:
ε = 1
12
2 2
q q
q
/
/
(2.13)*
Lợng hoá đều nh trên khá thuận tiện cho cài đặt Tuy nhiên, trong thực tế ta còn gặp nhiều loại phân bố không đều của các biến ngẫu nhiên Độc giả quan tâm đến các biến đổi này cũng nh so sánh kết quả giữa một số
ph-ơng pháp xin tham khảo tài liệu [1]
2.3 một số phơng pháp biểu diễn ảnh (image representation)
Sau bớc số hoá, ảnh sẽ đợc lu trữ hay chuyển sang giai đoạn phân tích Trớc
khi đề cập đến vấn đề lu trữ ảnh, ta cần xem xét ảnh sẽ đợc biểu diễn ra sao trong bộ nhớ máy tính Phần trên cũng đã nói đến các mô hình toán học để biểu diễn ảnh Nếu l u trữ trực tiếp ảnh thô theo kiểu bản đồ ảnh, dung l ợng sẽ khá lớn, tốn kém mà nhiều khi không hiệu quả theo quan điểm ứng dụng Thờng ngời ta không biểu diễn toàn bộ ảnh thô
mà tập trung đặc tả các đặc trng của ảnh nh: biên ảnh (Boundary) hay các vùng ảnh (Region) Các kỹ thuật phát hiện biên hay phân vùng ảnh sẽ đợc giới thiệu kỹ trong chơng 5 và 6 Dới đây giới thiệu một số phơng pháp biểu diễn Th-ờng ngời ta dùng:
- Biểu diễn mã loạt dài (Run - Length Code)
- Biểu diễn mã xích (Chaine Code)
- Biểu diễn mã tứ phân (Quad Tree Code)
Ngoài ra cũng dùng mô hình thống kê
2.3.1 Mã loạt dài
Trang 8Phơng pháp này hay dùng biểu diễn cho vùng ảnh hay ảnh nhị phân Một vùng ảnh R có thể biểu diễn đơn giản nhờ một ma trận nhị phân:
u(m,n) = 1 nếu (m,n) R
0 nếu không
Với cách biểu diễn trên, một vùng ảnh hay ảnh nhị phân đợc xem nh gồm các chuỗi 0 hay 1 đan xen Các chuỗi này gọi là một mạch (run) Theo phơng pháp này, mỗi mạch sẽ đợc biểu diễn bởi địa chỉ bắt đầu của mạch và chiều dài mạch theo dạng: (<hàng,cột>, chiều dài)
0 1 2 3 4
0 ảnh đợc biểu diễn
1 (1,1) 1, (1,3) 2
2 (2,0) 4, (3,1) 2
Hình 2.8 ả nh nhị phân và các biểu diễn mã loạt dài tơng ứng.
Nhiều dạng biến thể khác nhau khác nhau của phơng pháp này sẽ đề cập chi tiết trong Chơng 8 (8.2.1)
2.3.2 Mã xích
Mã xích thờng đợc dùng để biểu diễn biên của ảnh Thay vì lu trữ toàn bộ ảnh, ngời ta lu trữ dãy các điểm
ảnh nh A, B, , M (hình 2.9) Theo phơng pháp này, 8 hớng của véctơ nối 2 điểm biên liên tục đợc mã hoá Khi đó
ảnh đợc biểu diễn qua điểm ảnh bắt đầu A cùng với chuỗi các từ mã Điều này đợc minh hoạ trong hình 2-9 dới đây
Một biến thể của phơng pháp này là tăng số hớng Với biên cũng còn nhiều phơng pháp khác (Chơng 5)
2 A 7
3 1 M 1 B 6 0 1 E 0 F
2 J C D G 4
0 K 4 J 2 5
3 I 4 H
5 6 7
Hình 2-9 Hớng các điểm biên và mã tơng ứng.
A 111 110 000 001 000 110 101 110 101 010 100 010
2.3.3 Mã tứ phân
Theo phơng pháp mã tứ phân, một vùng của coi nh bao kín bởi một một hình chữ nhật Vùng này đợc chia làm 4 vùng con (quadrant) Nếu một vùng con gồm toàn điểm đen (1) hay toàn điểm trắng(0) thì không cần chia tiếp Trong trờng hợp ngợc lại, vùng con gồm cả đen và trắng gọi là vùng xám lại tiếp tục đ ợc chia làm 4 vùng con tiếp Quá trình chia dừng lại khi không thể chia tiếp đợc nữa, có nghĩa là vùng con chỉ chứa thuần nhất điểm đen hay trắng
Nh vậy, cây biểu diễn gồm một chuỗi các ký hiệu b(black), w (white) và g(grey) kèm theo ký hiệu mã hoá 4 vùng con Biểu diễn theo phơng pháp này u việt hơn so với các phơng pháp trên, nhất là so với mã loạt dài Tuy nhiên, để tính toán số đo các hình nh chu vi, mô men là khá khó
2.4 Các định dạng ảnh cơ bản trong xử lý ảnh
ảnh thu đợc sau quá trình số hoá có nhiều loại khác nhau, phụ thuộc vào kỹ thuật số hoá ảnh Nh đã nói ở phần trên , ta chia làm 2 loại: ảnh đen trắng và ảnh màu ảnh thu nhận đợc có thể lu trữ trên tệp để phục vụ cho các bớc xử lý tiếp theo Dới đây sẽ trình bày một số định dạng ảnh thông dụng hay dùng trong quá trình xử lý ảnh hiện nay
2.4.1 Định dạng ảnh IMG
ảnh IMG là ảnh đen trắng Phần đầu của ảnh IMG có 16 bytes chứa các thông tin cần thiết :
+ 6 bytes đầu: dùng để đánh dấu định dạng ảnh IMG Giá trị của 6 bytes này viết dới dạng Hexa:
Nhập môn xử lý ảnh số - ĐHBK Hà nội 17
Trang 90x0001 0x0008 0x0001
+ 2 bytes tiếp theo: chứa độ dài mẫu tin Đó là độ dài của dãy các bytes kề liền nhau mà dãy này sẽ đ ợc lặp lại một số lần nào đó Số lần lặp này sẽ đợc lu trong byte đếm Nhiều dãy giống nhau đợc lu trong một byte Đó là cách lu trữ nén sẽ đợc đề cập chi tiết trong chơng 8
+ 4 bytes tiếp: mô tả kích cỡ pixel
+ 2 bytes tiếp : số pixel trên một dòng ảnh
+ 2 bytes cuối: số dòng ảnh trong ảnh
ảnh IMG đợc nén theo từng dòng Mỗi dòng bao gồm các gói(pack) Các dòng giống nhau cũng đợc nén thành một gói Có 4 loại gói sau:
Loại 1: Gói các dòng giống nhau
Quy cách gói tin này nh sau: 0x00 0x00 0xFF Count Ba byte đầu cho biết số các dãy giống nhau; byte cuối cho biết số các dòng giống nhau
Loại 2: Gói các dãy giống nhau
Quy cách gói tin này nh sau: 0x00 Count Byte thứ hai cho biết số các dãy giống nhau đợc nén trong gói
Độ dài của dãy ghi ở đầu tệp
Loại 3: Dãy các pixel không giống nhau, không lặp lại và không nén đợc.
Qui cách nh sau: 0x80 Count Byte thứ hai cho biết độ dài dãy các pixel không giống nhau không nén đợc
Loại 4: Dãy các pixel giống nhau
Tuỳ theo các bit cao của byte đầu đợc bật hay tắt Nếu bit cao đợc bật (giá trị 1) thì đây là gói nén các bytes chỉ gồm bit 0, số các byte đợc nén đợc tính bởi 7 bit thấp còn lại Nếu bit cao tắt (giá trị 0) thì đây là gói nén các byte gồm toàn bit 1 Số các byte đợc nén đợc tính bởi 7 bit thấp còn lại
Các gói tin của file IMG phong phú nh vậy là do ảnh IMG là ảnh đen trắng, do vậy chỉ cần 1 bit cho 1 pixel thay vì 4 hoặc 8 nh đã nói ở trên Toàn bộ ảnh chỉ có những điểm sáng và tối t ơng ứng với giá trị 1 hoặc giá trị 0 Tỷ
lệ nén của kiểu định dạng này là khá cao
2.4.2 Định dạng ảnh PCX
Định dạng ảnh PCX là một trong những định dạng ảnh cổ điển nhất Nó sử dụng ph ơng pháp mã loạt dài RLE (Run-Length-Encoded) để nén dữ liệu ảnh Quá trình nén và giải nén đ ợc thực hiện trên từng dòng ảnh Thực tế, phơng pháp giải nén PCX kém hiệu quả hơn so với kiểu IMG Tệp PCX gồm 3 phần: đầu tệp (header), dữ liệu ảnh (image data) và bảng màu mở rộng(xem hình 2.10)
Header của tệp PCX có kích thớc cố định gồm 128 byte và đợc phân bố nh sau:
+ 1 byte : chỉ ra kiểu định dạng Nếu là kiểu PCX/PCC nó luôn có giá trị là 0Ah
+ 1 byte: chỉ ra version sử dụng để nén ảnh, có thể có các giá trị sau:
- 0: version 2.5
- 2: version 2.8 với bảng màu
- 3: version 2.8 hay 3.0 không có bảng màu
- 5: version 3.0 có bảng màu
+ 1 byte: chỉ ra phơng pháp mã hoá Nếu là 0 thì mã hoá theo phơng pháp BYTE PACKED, nếu không là
ph-ơng pháp RLE
+ 1 byte: số bit cho một điểm ảnh plane
+ 1 word: toạ độ góc trái trên của ảnh Với kiểu PCX nó có giá trị là (0,0); còn PCC thì khác (0,0)
+ 1 word: toạ độ góc phải dới
+ 1 word: kích thớc bề rộng và bề cao ảnh
+ 1 word: số điểm ảnh
+ 1 word: độ phân giải màn hình
+ 1 word
+ 48 byte: chia thành 16 nhóm, mỗi nhóm 3 byte Mỗi nhóm này chứa thông tin về một thanh ghi màu Nh vậy ta có 16 thanh ghi màu
+ 1 byte: không dùng đến và luôn đặt là 0
Trang 10+1 byte: số bit plane mà ảnh sử dụng Với ảnh 16 màu, giá trị này là 4, với ảnh 256 màu (1 pixel/8 bit) thì số bit plane lại là 1
+ 1 byte: số bytes cho một dòng quét ảnh
+ 1 word: kiểu bảng màu
+ 58 byte: không dùng
Tóm lại, định dạng ảnh PCX thờng đợc dùng để lu trữ ảnh vì thao tác đơn giản, cho phép nén và giải nén nhanh Tuy nhiên vì cấu trúc của nó cố định, nên trong một số trờng hợp nó làm tăng kích thớc lu trữ Và cũng vì
nh-ợc điểm này mà một số ứng dụng lại sử dụng một kiểu định dạng khác mềm dẻo hơn: định dạng TIFF ( Targed Image File Format) sẽ mô tả dới đây
2.4.3 Định dạng ảnh TIFF
Kiểu định dạng TIFF đợc thiết kế để làm nhẹ bớt các vấn đề liên quan đến việc mở rộng tệp ảnh cố định Về cấu trúc, nó cũng gồm 3 phần chính:
- Phần Header (IFH): có trong tất cả các tệp TIFF và gồm 8 byte:
+ 1 word: chỉ ra kiểu tạo tệp trên máy tính PC hay Macintosh Hai loại này khác nhau rất lớn ở thứ
tự các byte lu trữ trong các số dài 2 hay 4 byte Nếu trờng này có giá trị là 4D4Dh thì đó là ảnh cho máy Macintosh; nếu là 4949h là của máy PC
+ 1 word: version Từ này luôn có giá trị là 42 Có thể coi đó là đặc tr ng của file TIFF vì nó không thay đổi
Hình 2.10 Cấu trúc tệp ảnh dạng PCX.
+ 2 word: giá trị Offset theo byte tính từ đầu file tới cấu trúc IFD(Image File Directory) là cấu trúc thứ hai của file Thứ tự các byte ở đây phụ thuộc vào dấu hiệu trờng đầu tiên
- Phần thứ 2 (IFD): Nó không ở ngay sau cấu trúc IFH mà vị trí của nó đ ợc xác định bởi trờng Offset trong
đầu tệp Có thể có một hay nhiều IFD cùng tồn tại trong file (nếu file có nhiều hơn 1 ảnh)
Một IFD gồm:
+ 2 byte: chứa các DE (Directory Entry)
+ 12 byte là các DE xếp liên tiếp Mỗi DE chiếm 12 byte
+ 4 byte : chứa Offset trỏ tới IFD tiếp theo Nếu đây là IFD cuối cùng thì trờng này có giá trị là 0
Nhập môn xử lý ảnh số - ĐHBK Hà nội 19
Header 128 bytes
Dữ liệu ảnh nén
Bảng màu mở rộng