Tải bản đầy đủ (.doc) (30 trang)

BÁO CÁO "TÌM HIỀU THÔNG TIN VỀ BIỂU DIỄN ẢNH" doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (866.41 KB, 30 trang )

BÁO CÁO TỐT NGHIỆP
BÁO CÁO
"TÌM HIỀU THÔNG TIN
VỀ BIỂU DIỄN ẢNH"
Mục Lục:
BÁO CÁO TỐT NGHIỆP 1
BÁO CÁO 1
"TÌM HIỀU THÔNG TIN VỀ BIỂU DIỄN ẢNH" 1
Mục Lục: 2
LỜI NÓI ĐẦU 4
Sinh viên thưc hiện 5
Giáo viên hướng dẫn 5
PHẦN I : MỘT SỐ KHÁI NIỆM CƠ BẢN 6
1.1 Khái Niệm về ảnh 6
1.2 Pixel (Picture Element): phần tử ảnh 6
1.3 Gray level: Mức xám 6
PHẦN II : CÁC ĐỊNH DẠNG ẢNH CƠ BẢN 7
2.1 Khái niệm chung 7
2.1.1 Mào đầu tệp(Header): 8
2.1.2 Dữ liệu ảnh(Data Image): 8
2.1.3 Bảng màu(Palette Color): 8
2.1.4 Quy trình đọc một tệp ảnh 8
2.2 Định dạng ảnh IMG 8
2.3 Định dạng ảnh PCX 9
2.4 Định dạng ảnh BMP(Bitmap) 11
2.4.1 Data of Image 11
2.4.2 Color Palette (Bảng màu) 12
2.4.3 Header 13
Windows 3 Bitmap Header 13
2.5 Định dạng ảnh GIF(Graphics Interchanger Format) 14
2.6 Định dạng ảnh JPEG (Joint Photographic Experts Group) 17


2.7 Định dạng ảnh PNG 18
2.7.3 Thành phần cơ bản 19
PHẦN III : PHÂN LOẠI ẢNH 20
3.1 Định nghĩa ảnh số (Digital Image) 20
3.2 Ảnh nhị phân, ảnh đa mức xám 20
3.2.1 Ảnh nhị phân 20
3.2.2 Ảnh đa mức xám 21
3.3 Ảnh màu 21
3.4 Các loại ảnh khác 22
3.4.1 Raster Image 22
3.4.2 Vector Image 22
PHẦN IV : CHƯƠNG TRÌNH ỨNG DỤNG CHUYỂN ĐỔI ẢNH MÀU  ẢNH ĐA MỨC
XÁM HOẶC ẢNH NHỊ PHÂN 23
4.1 Xác định vào – ra 23
4.2 Thiết kế form 24
4.3 Thiết kế các modul 25
4.4 Thuật toán 25
4.4.1 Thuật toán chuyển đổi từ file ảnh màu  ảnh đa mức xám 25
4.4.2 Thuật toán chuyển đổi từ file ảnh màu(Đa mức xám) ảnh nhị phân 27
4.5 Xây dựng chương trình 28
TÀI LIỆU THAM KHẢO 29
LỜI NÓI ĐẦU
Khoảng hơn mười năm trở lại đây, phần cứng máy tính và các thiết bị liên quan đã
có sự tiến bộ vượt bậc về tốc độ tính toán, dung lượng chứa, khả năng xử lý v.v và giá
cả đã giảm đến mức máy tính và các thiết bị liên quan đến xử lý ảnh đã không còn là thiết
bị chuyên dụng nữa. Khái niệm ảnh số đã trở nên thông dụng với hầu hết mọi người trong
xã hội và việc thu nhận ảnh số bằng các thiết bị cá nhân hay chuyên dụng cùng với việc
đưa vào máy tính xử lý đã trở nên đơn giản.
Xử lý ảnh là một ngành khoa học còn tương đối mới mẻ so với nhiều ngành khoa học
khác. Hiện nay nó đang là một trong những lĩnh vực được quan tâm và đã trở thành môn

học chuyên ngành của sinh viên hệ kỹ sư, cử nhân ngành Công nghệ thông tin
Với đề tài “Tìm hiểu thông tin về biểu diễn ảnh”, sau một thời gian nghiên cứu về đề
tài này, em đề cập đến một số vấn đề về biểu diễn, các loại file ảnh, thông tin định dạng
một số loại file ảnh thông dụng Tài liệu báo cáo gồm 4 chương:
Chương I: Một số khái niệm cơ bản.
Chương II: Các định dạng ảnh thông dụng.
Chương III: Phân loại ảnh.
Chương IV: Chương trình ứng dụng chuyển dổi ảnh màu  Ảnh đa mức
xám hoặc ảnh nhị
Mặc dù rất cố gắng nhưng do đây là lần đầu tiên em đi sâu vào nghiên cứu đề tài
này nên tài liệu chắc chắn không tránh khỏi những sai sót. Vì vậy em rất mong nhận được
sự đóng góp ý kiến của thầy và các bạn để nhóm hoàn thiện hơn nữa về để tài này tốt
hơn.
Em xin chân thành cảm ơn!
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN














ĐÁNH GIÁ VÀ CHO ĐIỂM









Hải Phòng, Ngày Tháng Năm 2010
Sinh viên thưc hiện
Phạm Văn Hải
Giáo viên hướng dẫn
Nguyễn Ngọc Khương
PHẦN I : MỘT SỐ KHÁI NIỆM CƠ BẢN.
1.1 Khái Niệm về ảnh.
- Nói về ảnh thì về cơ bản ai cũng đã từng đc xem qua vì vậy khái niệm về ảnh ta có
thể hiểu là quá trình sao chụp hoặc phắc hoạ lại các hình ảnh ngoài tự nhiên.
- Các file ảnh lưu trữ trên máy tính bao giờ cũng đc tổ chức theo một cấu trúc nào đó
(Tương tự các loại file dữ liệu khác). Dựa vào cấu trúc này, các chương trình ứng dụng
khác nhau có thể cùng đọc và hiểu thị đc file ảnh.
- Có nhiều file ảnh với cấu trúc khác nhau, ví dụ như file ảnh .bmp, .jpeg, .jpg, .gif,
.png…
1.2 Pixel (Picture Element): phần tử ảnh
- Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng. Để có thể
xử lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh. Trong quá trình số hoá ,
người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời
rạc hóa về không gian) và lượng hoá thành phần giá trị mà thể về nguyên tắc bằng mắt
thường không phân biệt được hai điểm kề nhau. Trong quá trình này, người ta sử dụng
khái niệm Picture element mà ta quen gọi hay viết là Pixel - phần tử ảnh. ở đây cũng cần
phân biệt khái niệm pixel hay đề cập đến trong các hệ thống đồ hoạ máy tính. Để tránh

nhầm lẫn ta tạm gọi khái niệm pixel này là pixel thiết bị. Khái niệm pixel thiết bị có thể
xem xét như sau: khi ta quan sát màn hình (trong chế độ đồ hoạ), màn hình không liên tục
mà gồm nhiều điểm nhỏ, gọi là pixel. Mỗi pixel gồm một cặp toạ độ x, y và màu.
- Cặp toạ độ x, y tạo nên độ phân giải (resolution). Như màn hình máy tính có nhiều
loại với độ phân giải khác nhau: màn hình CGA có độ phân giải là 320 x 200; màn hình
VGA là 640 x 350,
- Như vậy, một ảnh là một tập hợp các điểm ảnh. Khi được số hoá, nó thường được
biểu diễn bởi bảng hai chiều I(n,p): n dòng và p cột. Ta nói ảnh gồm n x p pixels. Người
ta thường kí hiệu I(x,y) để chỉ một pixel. Thường giá trị của n chọn bằng p và bằng 256.
Một pixel có thể lưu trữ trên 1, 4, 8 hay 24 bit.
1.3 Gray level: Mức xám
- Mức xám là kết quả sự mã hoá tương ứng một cường độ sáng của mỗi điểm ảnh
với một giá trị số - kết quả của quá trình lượng hoá. Cách mã hoá kinh điển thường dùng
16, 32 hay 64 mức. Mã hoá 256 mức là phổ dụng nhất do lý do kỹ thuật. Vì 28 = 256 (0,
1, , 255), nên với 256 mức, mỗi pixel sẽ được mã hoá bởi 8 bit.
1.4 Biểu diễn ảnh
- Trong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh là pixel.
Nhìn chung có thể xem một hàm hai biến chứa các thông tin như biểu diễn của một ảnh.
Các mô hình biểu diễn ảnh cho ta một mô tả lô gic hay định lượng các tính chất của hàm
này. Trong biểu diễn ảnh cần chú ý đến tính trung thực của ảnh hoặc các tiêu chuẩn
“thông minh” để đo chất lượng ảnh hoặc tính hiệu quả của các kỹ thuật xử lý.
- Việc xử lý ảnh số yêu cầu ảnh phải được mẫu hoá và lượng tử hoá. Thí dụ một ảnh
ma trận 512 dòng gồm khoảng 512 x 512 pixel. Việc lượng tử hoá ảnh là chuyển đổi tín
hiệu tương tự sang tín hiệu số (Analog Digital Convert) của một ảnh để lấy mẫu sang một
số hữu hạn mức xám.
- Một số mô hình thường được dùng trong biểu diễn ảnh: Mô hình toán, mô hình
thống kê. Trong mô hình toán, ảnh hai chiều được biểu diễn nhờ các hàm hai biến trực
giao gọi là các hàm cơ sở. Với mô hình thống kê, một ảnh được coi như một phần tử của
một tập hợp đặc trưng bởi các đại lượng như: kỳ vọng toán học, hiệp biến, phương sai,
moment…

PHẦN II : CÁC ĐỊNH DẠNG ẢNH CƠ BẢN
2.1 Khái niệm chung
- Ảnh thu được sau quá trình số hóa thường được lưu lại cho các quá trình xử lý
tiếp theo hay truyền đi. Trong quá trình phát triển của kỹ thuật xử lý ảnh, tồn tại nhiều
định dạng ảnh khác nhau từ ảnh đen trắng (với định dạng IMG), ảnh đa cấp xám cho
đến ảnh màu: (BMP, GIF, JPEG…). Tuy các định dạng này khác nhau, song chúng đều
tuân theo một cấu trúc chung nhất. Nhìn chung, một tệp ảnh bất kỳ thường bao gồm 3
phần:
+ Mào đầu tệp (Header)
+ Dữ liệu nén (Data Image)
+ Bảng màu (Palette Color)
2.1.1 Mo u tp(Header):
- Mo u tp l phn cha cỏc thụng tin v kiu nh, kớch thc, phõn gii, s
bit dựng cho 1 pixel, cỏch mó húa, v trớ bng mu
2.1.2 D liu nh(Data Image):
- õy l phn d liu ca nh m ta thy c.
2.1.3 Bng mu(Palette Color):
- Bng mu khụng nht thit phi cú vớ d khi nh l en trng. Nu cú, bng mu
cho bit s mu dựng trong nh v bng mu c s dng hin th mu ca nh. Mt
s cỏc nh dng khỏc, cu hỡnh, c trng ca tng ng dng v cỏc tham s
2.1.4 Quy trỡnh c mt tp nh
- Trong quỏ trỡnh x lý nh, u tiờn phi tin hnh c tp nh v chuyn vo b
nh ca mỏy tớnh di dng ma trn s liu nh. Khi lu tr di dng tp, nh l mt
khi gm mt s cỏc byte. c ỳng tp nh ta cn hiu ý ngha cỏc phn trong cu
trỳc ca tp nh nh ó nờu trờn. Trc tiờn, ta cn c phn mo u (Header) ly
cỏc thụng tin chung v thụng tin iu khin. Vic c ny s dng ngay khi ta khụng gp
c ch ký (Ch ký õy thng c hiu l mt mó ch ra nh dng nh v i
(version) ca nú) mong mun. Da vo thụng tin iu
khin, ta xỏc nh c v trớ bng mu v c nú vo b nh. Cui cựng, ta c phn d
liu nộn.

- Sau khi c xong cỏc khi d liu nh vo b nh ta tin hnh nộn d liu nh.
Cn c vo phng phỏp nộn ch ra trong phn Header ta gii mó c nh.Cui cựng l
khõu hin nh. Da vo s liu nh ó gii nộn, v trớ v kớch thc nh, cựng s tr giỳp
ca bng mu nh c hin lờn trờn mn hỡnh.
2.2 nh dng 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:
0x0001 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.
+ 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.3 nh dng 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.
+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 nh dng nh BMP(Bitmap)
- Trong ha mỏy vi tớnh, BMP, cũn c bit n vi tờn ting Anh khỏc l
Windows bitmap, l mt nh dng tp tin hỡnh nh khỏ ph bin. Cỏc tp tin ha lu
di dng BMP thng cú uụi l .BMP hoc .DIB (Device Independent Bitmap).
Nếu ta hình dung trong một tệp ảnh xếp liên tiếp các byte từ đầu đến cuố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 BMP nh hình vẽ sau:
Hình 1. Cấu trúc file ảnh BMP
2.4.1 Data of Image
- nh 24 bit:
Mỗi điểm ảnh chiếm 3 byte mô tả ba thành phần: Red, Green, Blue.
- nh 256 mu:
Mỗi điểm ảnh chiếm 1 byte, chỉ số hiệu màu của điểm ảnh này.
Số hiệu màu của các điểm ảnh: 0, 1, , 255
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 và 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. Chẳng hạn,
một điểm ảnh có số hiệu màu 20, các thành phần của màu 20 là
P[20].R, P[20].G, P[20].B

- nh 16 mu:
Bảng màu có 16 màu, đợc đánh số từ 0 đến 15.
Mỗi điểm ảnh đợc mô tả bởi một con số, có giá trị từ 0 đến 15. Do
vậy, giá trị mỗi điểm ảnh chỉ cần 4 bit để mô tả.
Hai điểm ảnh đợc chứa trong một byte: điểm ảnh đứng trớc (bên trái)
đợc chứa trong 4 bit cao, điểm ảnh đứng sau (bên phải) đ ợc chứa
trong 4 bit thấp.
Ví dụ, byte b = 217 (11011001) chứa dữ liệu của hai điểm ảnh có giá
trị lần lợt là 13 và 9.
- nh 2 mu:
Bảng màu có 2 màu, đợc đánh số từ 0 đến 1.
Mỗi điểm ảnh đợc mô tả bởi một con số, có giá trị 0 hoặc 1. Do vậy,
giá trị mỗi điểm ảnh chỉ cần 1 bit để mô tả.
Tám điểm ảnh đợc chứa trong một byte: điểm ảnh đứng trớc (bên
trái) đợc chứa trong bit cao, điểm ảnh đứng sau (bên phải) đ ợc chứa
trong bit thấp. Ví dụ, byte b = 217 (11011001) chứa dữ liệu của 8
điểm ảnh có giá trị lần lợt là 1, 1, 0,1, 1, 0, 0 và 1.
2.4.2 Color Palette (Bng mu)
- nh 24bit:Tp nh khụng cú bng mu.
- nh 256,16 v 2 mu:
Bảng màu chiếm 256*4=1024, 16*4=64, 2*4=8 byte
Mỗi màu đợc mô tả bởi 4 byte, thể hiện 4 thành phần màu: BLUE,
GREEN, RED và DARKGRAY.
Với hầu hết các tệp ảnh BMP, thành phần DARKGRAY bằng 0.
Giá trị của các thành phần BLUE, GREEN và RED đợc lu trữ ở 6 bit
cao.
Blue Green Red Darkgray Red Green Blue
Blue Green Red Darkgray
Blue Green Red Darkgray
Blue Green Red Darkgray

2.4.3 Header
Header của các tệp ảnh BMP gồm 54 byte, đợc mô tả chi tiết trong bảng
sau:
File Header
Số bytes ý nghĩa Nội dung
2 Tên, Kí hiệu BM
4 Kích thớc file ảnh
4 Dự trữ (Không dùng) 0
4 Byte offset in file where image begin (Kích thớc
vùng Information và Header)
54
Windows 3 Bitmap Header
4 Size of this Header 40
4 Image width in pixels
4 Image height in pixels
2 Number of iImage planes, must be 1
2 Bits per pixel 1, 4, 8, 24
4 Compression type (run-length) 0,1,2
4 Size in byte of compressed image, or 0
4 Horizontal resolution, in pixels/meter
4 Vertical resolution, in pixels/meter
4 Number of colors used
4 Number of important colors
4*n Colors palette
2.5 nh dng nh GIF(G

raphics I

nterchanger F


ormat)
- Cách lu trữ kiểu PCX có lợi về không gian lu trữ: với ảnh đen trắng kích thớc
tệp có thể nhỏ hơn bản gốc từ 5 đến7 lần. Với ảnh 16 màu, kích thớc ảnh nhỏ hơn ảnh
gốc 2-3 lần, có trờng hợp có thể xấp xỉ ảnh gốc. Tuy nhiên, với ảnh 256 màu thì nó bộc lộ
rõ khả năng nén rất kém. Điều này có thể lý giải nh sau: khi số màu tăng lên, các loạt dài
xuất hiện ít hơn và vì thế, lu trữ theo kiểu PCX không còn lợi nữa. Hơn nữa, nếu ta muốn
lu trữ nhiều đối tợng trên một tệp ảnh nh kiểu định dạng TIFF, đòi hỏi có một định dạng
khác thích hợp.
- Định dạng ảnh GIF do hãng ComputServer Incorporated (Mỹ) đề xuất lần đầu
tiên vào năm 1990. Với địng dạng GIF, những vớng mắc mà các định dạng khác gặp phải
khi số màu trong ảnh tăng lên không còn nữa. Khi số màu càng tăng thì u thế của định
dạng GIF càng nổi trội. Những u thế này có đợc là do GIF tiếp cận các thuật toán nén
LZW(Lempel-Ziv-Welch). Bản chất của kỹ thuật nén LZW là dựa vào sự lặp lại của một
nhóm điểm chứ không phải loạt dài giống nhau. Do vậy, dữ liệu càng lớn thì sự lặp lại
càng nhiều.(Dạng ảnh GIF cho chất lợng cao, độ phân giải đồ hoạ cũng đạt cao, cho phép
hiển thị trên hầu hết các phần cứng đồ hoạ.
Định dạng tổng quát của ảnh GIF nh sau:
Chữ ký của ảnh GIF note
Bộ mô tả hiển thị GIF Header (7 byte)
Bản đồ màu tổng thể Global Palette
Mô tả một đối tợng của ảnh Header Image (10 byte)
- Dấu phân cách Palete of Imge 1(nếu có)
- Bộ mô tả ảnh Data of Image 1
- Bản đồ màu cục bộ ' ,' ký tự liên kết
- Dữ liệu ảnh Phần mô tả này lặp n lần nếu ảnh chứa n đối
tợng. ';' GIF terminator
Phần đầu cuối ảnh GIF(terminator)
- Chứ ký của ảnh GIF có giá trị là GIF87a. Nó gồm 6 ký tự, 3 kí tự đầu chỉ ra kiểu
định dạng, 3 ký tự sau chỉ ra version của ảnh.
- Bộ hình hiển thị: chứa mô tả các thông số cho toàn bộ ảnh GIF:

+ Độ rộng hình raster theo pixel: 2 byte;
+ Độ cao hình raster theo pixel: 2 byte;
+ Các thông tin về bản đồ màu, hình hiển thị,
+ Thông tin màu nền: 1 byte;
+ Phần cha dùng: 1 byte.
- Bản đồ màu tổng thể: mô tả bộ màu tối u đòi hỏi khi bit M = 1. Khi bộ màu tổng
thể đợc thể hiện, nó sẽ xác lập ngay bộ mô tả hình hiển thị. Số lợng thực thể bản đồ
màu lấy theo bộ mô tả hình hiển thị ở trên và bằng 2
m
, với m là lợng bit trên một
pixel khi mỗi thực thể chứa đựng 3 byte (biểu diễn cờng độ màu của ba màu cơ bản
Red-Green-Blue). Cấu trúc của khối này nh sau:





- Bộ mô tả ảnh: định nghĩa vị trí thực tế và phần mở rộng của ảnh trong phạm vi
không gian ảnh đã có trong phần mô tả hình hiển thị. Nếu ảnh biểu diễn theo ánh xạ bản
đồ màu cục bộ thì cờ định nghĩa phải đợc thiết lập. Mỗi bộ mô tả ảnh đợc chỉ ra bởi ký tự
kết nối ảnh. Ký tự này chỉ đợc dùng khi định dạng GIF có từ 2 ảnh trở lên. Ký tự này có
giá trị 0x2c (ký tự dấu phảy). Khi ký tự này đợc đọc qua, bộ mô tả ảnh sẽ đợc kích hoạt.
Bộ mô tả ảnh gồm 10 byte và có cấu trúc nh sau:
Bit Thứ thự
byte
Mô tả
Màu Red 1 Giá trị màu đỏ theo index 0
Màu Green 2 Giá trị màu xanh lục theo index 0
Màu Blue 3 Giá trị màu xanh lơ theo index 0
Màu Red 4 Giá trị màu đỏ theo index 1

Màu Green 5 Giá trị màu xanh lục theo index1
Màu Blue 6 Giá trị màu xanh lơ theo index 0


- Bản đồ màu cục bộ: bản đồ màu cục bộ chỉ đợc chọn khi bit M của byte thứ 10
là 1. Khi bản đồ màu đợc chọn, bản đồ màu sẽ chiếu theo bộ mô tả ảnh mà lấy vào cho
đúng. Tại phần cuối ảnh, bản đồ màu sẽ lấy lại phần xác lập sau bộ mô tả hình hiển thị.
Lu ý là trờng pixel của byte thứ 10 chỉ đợc dùng khi bản đồ màu đợc chỉ định. Các
tham số này không những chỉ cho biết kích thớc ảnh theo pixel mà còn chỉ ra số thực thể
bản đồ màu của nó.
- Dữ liệu ảnh: chuỗi các giá trị có thứ tự của các pixel màu tạo nên ảnh. Các
pixel đợc xếp liên tục trên một dòng ảnh, từ trái qua phải. Các dòng ảnh đợc viết từ trên
xuống dới.
- Phần kết thúc ảnh: cung cấp tính đồng bộ cho đầu cuối của ảnh GIF. Cuối của
ảnh sẽ xác định bởi kí tự ; (0x3b).
- Định dạng GIF có rất nhiều u điểm và đã đợc công nhận là chuẩn để lu trữ ảnh
màu thực tế (chuẩn ISO 10918-1). Nó đợc mọi trình duyệt Web (Web Browser) hỗ trợ với
nhiều ứng dụng hiện đại. Cùng với nó có chuẩn JPEG (Joint Photograph Expert Group).
GIF dùng cho các ảnh đồ hoạ (Graphic), còn JPEG dùng cho ảnh chụp (Photographic).
Các bit Thứ tự
byte
Mô tả
00101100 1 Ký tự liên kết ảnh ()
Căn trái ảnh 2,3 Pixel bắt đầu ảnh tính từ trái hình hiển thị
Căn đỉnh trên 4,5 Pixel cuối ảnh bắt đầu tính từ đỉnh trên hình hiển thị
Độ rộng ảnh 6,7 chiều rộng ảnh tính theo pixel
Độ cao ảnh 8,9 chiều cao ảnh tính theo pixel
MI000pixel 10 Khi bit M = 0 : sử dụng bản đồ màu tổng thể
M = 1 : sử dụng bản đồ màu cục bộ
I = 0 : định dạng ảnh theo thứ tự liên tục

I = 1 : định dạng ảnh theo thứ tự xen kẽ
pixel +1: số bit/pixel của ảnh này.

2.6 Định dạng ảnh JPEG (Joint Photographic Experts Group)
- Phương pháp nén ảnh JPEG (tiếng Anh, viết tắt cho Joint Photographic
-Experts Group) là một trong những phương pháp nén ảnh hiệu quả, có tỷ lệ nén ảnh tới
vài chục lần. Tuy nhiên ảnh sau khi giải nén sẽ khác với ảnh ban đầu. Chất lượng ảnh bị
suy giảm sau khi giải nén. Sự suy giảm này tăng dần theo hệ số nén. Tuy nhiên sự mất
mát thông tin này là có thể chấp nhận được và việc loại bỏ những thông tin không cần
thiết được dựa trên những nghiên cứu về hệ nhãn thị của mắt người.
Phần mở rộng của các file JPEG thường có dạng .jpeg, .jfif, .jpg, .JPG, hay .JPE; dạng
.jpg là dạng được dùng phổ biến nhất.
2.6.1 Mức độ nhạy cảm của mắt người
- Trong không gian màu YUV, nhãn thị của con người rất nhạy cảm với thành
phần Y và kém nhạy cảm với hai loại U và V. Phương pháp nén JPEG đã nắm bắt phát
hiện này để tách những thông tin thừa của ảnh. Hệ thống nén thành phần Y của ảnh với
mức độ suy giảm ít hơn so với U, V, bởi người ta ít nhận thấy sự thay đổi của U và V so
với Y.
2.6.2 Mã hóa
- Công đoạn chính là chia nhỏ bức ảnh thành nhiều vùng nhỏ (thông thường là
những vùng 8x8 pixel) rồi sử dụng biến đổi cosin rời rạc để biến đổi những vùng thể hiện
này thành dạng ma trận có 64 hệ số thể hiện "thực trạng" các pixel. Điều quan trọng là ở
đây hệ số đầu tiên có khả năng thể hiện "thực trạng" cao nhất, khả năng đó giảm rất
nhanh với các hệ số khác. Nói cách khác thì lượng thông tin của 64 pixels tập trung chủ
yếu ở một số hệ số ma trận theo biến đổi trên. Trong giai đoạn này có sự mất mát thông
tin, bởi không có biến đổi ngược chính xác. Nhưng lượng thông tin bị mất này chưa đáng
kể so với giai đoạn tiếp theo. Ma trận nhận được sau biến đổi cosin rời rạc được lược bớt
sự khác nhau giữa các hệ số. Đây chính là lúc mất nhiều thông tin vì người ta sẽ vứt bỏ
những thay đổi nhỏ của các hệ số. Như thế khi bung ảnh đã nén ta sẽ có được những
tham số khác của các pixel. Các biến đổi trên áp dụng cho thành phần U và V của ảnh với

mức độ cao hơn so với Y (mất nhiều thông tin của U và V hơn). Sau đó thì áp dụng
phương pháp mã hóa của Hoffman: Phân tích dãy số, các phần tử lặp lại nhiều được mã
hóa bằng ký hiệu ngắn (marker). Khi bung ảnh người ta chỉ việc làm lại các bước trên
theo quá trình ngược lại cùng với các biến đổi ngược.
- Một nhóm các nhà nghiên cứu đã phát minh ra định dạng này để hiển thị các
hình ảnh đầy đủ màu hơn (full-colour) cho định dạng di động mà kích thước file nhỏ hơn.
Giống như GIF, JPEG cũng được sử dụng rất nhiều trên web. Lợi ích chính của chúng là
có thể hiển thị các hình ảnh với các màu chính xác (true-colour) chúng có thể lên đến 16
triệu màu. Điều đó cho phép chúng được sử dụng tốt nhất cho các hình ảnh chụp và hình
ảnh minh hoạ với lượng màu lớn.
- Nhược điểm lớn nhất là chất lượng ảnh đã bị nén mất đi (lossy), một số đường
bao giữa các khối màu sẽ xuất hiện điểm mờ, và các vùng sẽ mất đi sự rõ nét. Và giống
như dạng mp3, JPEG sẽ không thể phục hồi giống như hình ảnh ban đầu dù dung lượng
được tăng lên giống dung lượng ảnh thật.
- Các ảnh JPEG không thể làm trong suốt hoặc chuyển động.
2.7 Định dạng ảnh PNG
- PNG (từ viết tắt trong tiếng Anh của Portable Network Graphics; chính thức đọc
như "pinh") là một dạng hình ảnh sử dụng phương pháp nén dữ liệu mới - không làm mất
đi dữ liệu gốc. PNG được tạo ra nhằm cải thiện và thay thế định dạng ảnh GIF với một
định dạng hình ảnh không đòi hỏi phải có giấy phép sáng chế khi sử dụng. PNG được hỗ
trợ bởi thư viện tham chiếu libpng, một thư viện nền tảng độc lập bao gồm các hàm của C
để quản lý các hình ảnh PNG.
Những tập tin PNG thường có phần mở rộng là PNG and png và đã được gán kiểu chuẩn
MIME là image/png (được công nhận vào ngày 14 tháng 10 năm 1996).
2.7.1 Lịch sử và phát triển
- Động cơ thúc đẩy cho việc tạo ra định dạng PNG bắt đầu vào khoảng đầu năm
1995, sau khi Unisys công bố họ sẽ áp dụng bằng sáng chế vào thuật toán nén dữ liệu
LZW- được sử dụng trong định dạng GIF. Thuật toán được bảo vệ bởi bằng công nhận
độc quyền sáng tạo ở trong nước Mỹ và tất cả các nước trên thế giới. Tuy nhiên, cũng đã
có một số vấn đề với định dạng GIF khi cần có một số thay đổi trên hình ảnh, nhất giới

hạn của nó là 256 màu trong thời điểm máy tính có khả năng hiển thị nhiều hơn 256 màu
đang trở nên phổ biến. Mặc dù định dạng GIF có thể thể hiện các hình ảnh động, song
PNG vẫn được quyết định là định dạng hình ảnh đơn (chỉ có một hình duy nhất). Một
người "anh em" của nó là MNG đã được tạo ra để giải quyết vấn đề ảnh động. PNG lại
tăng thêm sự phổ biến của nó vào tháng 8 năm 1999, sau khi hãng Unisys huỷ bỏ giấy
phép của họ đối với các lập trình viên phần mềm miễn phí, và phi thương mại.
* Phiên bản 1.0 của đặc tả PNG được phát hành vào ngày 1 tháng 7 năm 1996, và sau
đó xuất hiện vơi tư cách RFC 2083. Nó được tổ chức W3C khuyến nghị vào ngày 1 tháng
10 năm 1996.
* Phiên bản 1.1, với một số thay đổi nhỏ và thêm vào 3 thành phần mới, được phát
hành vào ngày 31 tháng 12 năm 1998.
* Phiên bản 1.2, thêm vào một thành phần mở rộng, được phát hành vào ngày 11 tháng
8 năm 1999.
* PNG giờ đây là một chuẩn quốc tế (ISO/IEC 15948:2003), và cũng được công bố
như một khuyến nghị của W3C vào ngày 10 tháng 11 năm 2003. Phiên bản hiện tại của
PNG chỉ khác chút ít so với phiên bản 1.2 và không có thêm thành phần mới nào.
2.7.2 Thông tin kỹ thuật
- Một tập tin PNG bao gồm 8-byte kí hiệu (89 50 4E 47 0D 0A 1A 0A được viết
trong hệ thống có cơ số 16, chứa các chữ "PNG" và 2 dấu xuống dòng [1], ở giữa là sắp
xếp theo số lượng của các thành phần, mỗi thành phần đều chứa thông tin về hình ảnh.
Cấu trúc dựa trên các thành phần được thiết kế cho phép định dạng PNG có thể tương
thích với các phiên bản cũ khi sử dụng.
Các "thành phần" trong tập tin
- PNG là cấu trúc như một chuỗi các thành phần, mỗi thành phần chứa kích thước,
kiểu, dữ liệu, và mã sửa lỗi CRC ngay trong nó.
- Chuỗi được gán tên bằng 4 chữ cái phân biệt chữ hoa chữ thường. Sự phân biệt này
giúp bộ giải mã phát hiện bản chất của chuỗi khi nó không nhận dạng được.
- Với chữ cái đầu, viết hoa thể hiện chuỗi này là thiết yếu, nếu không thì ít cần thiết
hơn ancillary. Chuỗi thiết yếu chứa thông tin cần thiết để đọc được tệp và nếu bộ giải mã
không nhận dạng được chuỗi thiết yếu, việc đọc tệp phải được hủy.

2.7.3 Thành phần cơ bản
- Một bộ giải mã (decoder) phải có thể thông dịch để đọc và hiển thị một tệp PNG.
• IHDR phải là thành phần đầu tiên, nó chứa đựng header
• PLTE chứa đựng bảng màu (danh sách các màu)
• IDAT chứa đựng ảnh. Ảnh này có thể được chia nhỏ chứa trong nhiều phần IDAT.
Điều này làm tăng kích cỡ của tệp lên một ít nhưng nó làm cho việc phát sinh ảnh
PNG mượt hơn (streaming manner).
• IEND đánh dấu điểm kết thúc của ảnh.
PHẦN III : PHÂN LOẠI ẢNH
3.1 Định nghĩa ảnh số (Digital Image)
- Sau khi số hoá ảnh thực  Ảnh số, ảnh số đc hiểu như 1 ma trận 2 chiều A[m,n]
mỗi điểu ảnh a(i,j) i = 1 m, j = 1 n gọi là pixel (Picture Element) có thể là 1 giá trị
hoặc bộ 3 giá trị biểu thị mức xám hay màu của ảnh đó.
- Tuỳ thuộc vào chất lượng của việc lưởng tử hoá mà chúng ta có ảnh đen trắng
(nhị phân), ảnh đa mức xám hoặc ảnh màu
3.2 Ảnh nhị phân, ảnh đa mức xám.
- Quá trình lượng tử hoá phân chia màu sắc, độ đậm nhạt thành L mức:
L = 2^B
- Nếu L bằng 2, B=1, nghĩa là chỉ có 2 mức: mức 0 và mức 1, còn gọi là ảnh
nhị phân. Mức 0 ứng với màu sáng, còn mức 1 ứng với màu tối.
- Nếu L lớn hơn 2, B>1 ta có ảnh đa mức xám. Thông thường người ta lấy L =
4 , 8 , 16 , 32 , 64 , 128 hoặc 256. Nhưng thông dụng nhất vẫn là ảnh 256 mức
xám.
3.2.1 Ảnh nhị phân.
 Khái niệm
- Ảnh nhị phân là tập hợp các bit được lưu giữ trong bộ nhớ máy tính, được bố trí
thành một ma trận chữ nhật để biểu diễn các ảnh thật. Màn hình máy tính là một dạng ảnh
nhị phân mà người sử dụng nhìn thấy được.
-Ảnh nhị phân là ảnh chỉ có 2 giá trị mức xám là:
1: Biểu diễn đối tượng ảnh và đựoc gọi là điểm đen

0: Biểu diễn nền ảnh (phông ảnh) và được gọi là điểm trắng
 Đặc điểm
- Mỗi điểm ảnh đựoc lưu trữ bởi 1 bit nên dung lượng lưu trữ rất nhỏ và dễ dàng để
xử lý.
- Ảnh nhị phân thích hợp để biểu diễn đối tượng.đừơng nét nhiều nét, chữ số.
- Ảnh nhị phân phù hợp để biểu diễn các biên, vùng ảnh của ảnh số.
- Tập tin của ảnh nhị phân là tập hợp các điểm đen
3.2.2 Ảnh đa mức xám.
 Khái niệm.
- Ảnh đa mức xám là ảnh đc biểu diễn bởi L lớn hơn 2 mức (L= 4 , 8 , 16 , 32 , 64 ,
128 , 256) thông thường người ta hay sử dụng L = 256 mức để biểu thị mức độ
đậm nhạt của các điểm ảnh.
 Đặc điểm.
- Ảnh đa mức xám sử dụng lớn hơn 1bit để biểu thị mức độ đậm nhạt của các điểm
ảnh lên ảnh đa mức xám cho độ sắc nét hơn ảnh nhị phân.
- Ta có thể chuyển đổi thừ ảnh đa mức xám về ảnh nhị phân theo công thức sau:
Y (m, n) = 1 nếu X (m, n) ≥ θ
Y (m, n) = 0 nếu X (m, n) < θ
Với θ là ngưỡng tự chọn
- Ảnh đa mức xám đc ứng dụng nhiêu trong các lĩnh vực như sinh học, công nghiệp,
y học
3.3 Ảnh màu
 Khái niệm
- Ảnh màu theo lý thuyết của Thomas là ảnh tổ hợp từ 3 màu cơ bản: đỏ (R), lục (G),
lơ (B) và thường thu nhận trên các dải băng tần khác nhau. Với ảnh màu, cách biểu diễn
cũng tương tự như với ảnh đen trắng, chỉ khác là các số tại mỗi phần tử của ma trận biểu
diễn cho ba màu riêng rẽ gồm: đỏ (red), lục (green) và lam (blue).
 Đặc điểm
- Để biểu diễn cho một điểm ảnh màu cần 24 bit. 24 bit này được chia thành ba
khoảng 8 bit. Mỗi màu cũng phân thành L cấp màu khác nhau (thường L=256). Mỗi

khoảng này biểu diễn cho cường độ sáng của một trong các màu chính.
- Do đó, để lưu trữ ảnh màu người ta có thể lưu trữ từng màu riêng biệt, mỗi màu lưu
trữ như một ảnh đa cấp xám. Do đó, không gian nhớ dành cho một ảnh màu lớn gấp 3 lần
một ảnh đa cấp xám cùng kích cỡ.
- Ta có thể chuyển đổi ảnh màu về ảnh đa mức xám theo công thức sau:
G = 0.299R + 0.587G + 0.114B
Ảnh hưởng của màu đến mức xám giảm dần từ G, R đến B
Hoặc ta có thể chuyển đổi theo công thức sau:
G = 0.333R + 0.333G + 0.333B
Coi ảnh hưởng của G, R và B là như nhau
3.4 Các loại ảnh khác.
3.4.1 Raster Image
- Theo định nghĩa raster là dòng quét ngang tạo nên ảnh trên màn hình máy
tính. Trên dòng quyets này là tậ hợp của các chấm nhỏ phát sáng riêng biệt. Như
vậy raster image là ảnh đc tạo bởi nhiều điểm sáng li ti trên màn hình, mà mỗi
điểmsáng có thể mang 1 hoặc nhiều thông tin tương ứng với 1 bit, do đó raster
image còn gọi là ảnh nhị phân.
3.4.2 Vector Image
- Vector Image hay còn gọi vector graphics, object – oriented graphics: đồ hoạ
hướng đối tượng. Khi nói vector image tức là nói ảnh đc tạo từ nhiều đối tượng
độc lập. Ví dụ trên ảnh bit map, khi một đối tượng đc thêm vào, kết thúc thao tác,
đối tượng sẽ trở thành 1 phần của ảnh và không thể di dời đc nữa. Ngược lại với
ảnh vector, ta có thể thao tác cùng lúc với nhiều đối tượng, mỗi đối tượng hoạt
động độc lập và có thể di dời hoặc xoá đi.
- Vector có nhiều thuộc tính như độ dày, màu và chiều dài của nét. Ví dụ:
trong chương trình Vẽ 1 hình vuông đc tạo ra bằng 4 đoạn thẳng đặt vông doc với
nhau. Mỗi đoạn có thể đc chọn màu hay độ dày tuỳ ý. Bên trong có thể để trống
hoặc đc phủ màu. Mỗi đoạn thẳng là 1 đối tượng ảnh với đặc tính. Ta có thể làm
việc riêng biệt với từng đoạn, không như 1 nhóm điểm ảnh trong chương trình
Hoạ .

- Ta có thể làm việc riêng biệt với từng đối tượng, ta có thể gộp chúng lại để
tạo ra 1 raster image trên 1 vector image. Ví dụ: Word không phải là 1 chương
trình Vẽ, nhưng phần mềm này cũng sử dụng vector, bởi vì nó dùng fonts, và fonts
chữ cũng là vectors.
PHẦN IV : CHƯƠNG TRÌNH ỨNG DỤNG CHUYỂN ĐỔI
ẢNH MÀU  ẢNH ĐA MỨC XÁM HOẶC ẢNH NHỊ
PHÂN
4.1 Xác định vào – ra.
• Vào (Input): 1 file ảnh màu.
• Ra (Output): File ảnh nhị phân hoặc đa mức xám(.bmp).
4.2 Thiết kế form.
 Form :
 ConvertGrayImageToBinaryImage
 Button :
 BtnBowse : Mở 1 file ảnh.
 BtnGray : Chuyển đồi ảnh từ ảnh màu  ảnh đa mức xám.
 BtnBinary : Chuyển đổi ảnh từ ảnh màu(đa mức xám)  ảnh nhị
phân.
 BtnExit : Thoát khỏi ứng dụng.
 GroupBox :
 Groupbox1 : Input File.
 Groupbox2 : Output File.
 TextBox :
 TxtPatch : Đường dẫn File ảnh input.
 TxtThresholdValue : Giá trị phân ngưỡng(Mặc định bằng 127).
 PictureBox :
 PicInputImage : Box hiển thị ảnh input.
 PicOutputImage : Box hiển thị ảnh output.
 Lable :
 Lable1 : “Open Input File”

 Lable2 : “Threshold Value”
4.3 Thiết kế các modul.
 Modul : private Bitmap ToBinary(Bitmap bm, Byte band)
- Modul chuyển đổi từ ảnh màu (Đa mức xám)  ảnh nhị phân.
 Modul : private Bitmap ToGray(Bitmap bm)
- Modul chuyển đổi từ ảnh màu  ảnh đa mức xám.
 Modul : private void BtnBrowse_Click(object sender, EventArgs e)
- Modul thực hiện công việc mở file.
 Modul : private void BtnExit_Click(object sender, EventArgs e)
- Modul thực hiện công việc thoát khỏi ứng dụng
 Modul : private void BtnGray_Click(object sender, EventArgs e)
- Modul thực hiện công việc chuyển dổi từ ảnh màu (Đa mức xám)  ảnh
nhị phân.
 Modul : private void BtnBinay_Click(object sender, EventArgs e)
- Modul thực hiện công việc chuyển dổi từ ảnh màu  ảnh nhị phân.
4.4 Thuật toán.
4.4.1 Thuật toán chuyển đổi từ file ảnh màu

ảnh đa mức xám.
 Tư tưởng thuật toán:
- Để chuyển ảnh màu về ảnh xám chúng ta có công thức sau:
O(x,y )= 0.287*cR(x,y) + 0.599*cG(x,y) + 0.114*cB(x,y)
Hoặc :

×