Thông tin chung Tên đề tài: Lập trình một số bài toán cơ bản trong xử lý ảnh sốSinh viên thực hiện: Nguyễn Chí Hướng Nghiên cứu tổng quan về lý thuyết xử lý ảnh số các thành phần của hệ
Trang 1‘pơMỤC LỤC
‘pơMỤC
LỤC 1
Trang 21.2.4 Phân vùng
ảnh 181.2.5 Trích chọn đặc
tính 18
1.2.6 Nhận dạng
ảnh 181.2.7 Nén
ảnh 19
1.3 Các định dạng ảnh cơ
bản 19
1.3.1 Ảnh BMP
(BitMap) 201.3.2 Ảnh JPEG (Joint Photographic Experts
Trang 32.1.2 Tăng độ tương phản 22
2.1.3 Biến đổi âM bản 24
2.1.4 Biến đổi ảnh đen trắng 24
2.1.5 Các bài toán với lược đồ xáM(HistograM) 25
2.2 Một số bài toán về lọc nhiễu ảnh 27
2.2.1 Phép cuộn (Tính chập) và Mẫu (nhân chập) 28
2.2.2 LàM trơn nhiễu bằng lọc tuyến tính 29
2.2.3 LàM trơn nhiễu bằng lọc phi tuyến 32
2.3 Bài toán về phát hiện biên ảnh 34
2.3.1 Khái niệM, ý nghĩa của biên trong xử lý ảnh 34
2.3.2 Các phương pháp phát hiện biên 35
CHƯƠNG 3
CHƯƠNG TRÌNH ỨNG DỤNG 43
3.1 Giới thiệu về chương trình 43
3.2 Các chức năng của chương trình 44
3.2.1 Chức năng thao tác với file ảnh 44
3.2.2 Chức năng “Chỉnh sửa” 45
3.2.3 Chức năng “Xử lý điểM ảnh” 46
3.2.4 Chức năng “Lọc ảnh” 49
3.2.5 Chức năng dò biên(Edge Detection) 50
3.2.6 Chức năng ZooM ảnh 51
3.3 Một số hàM và thủ tục chính trong chương trình 51
3.3.1 Mở Một file ảnh 51
3.3.2 In ảnh lên ForM 51
3.3.3 Lưu File ảnh sau xử lý 52
3.3.4 HàM Undo ảnh 52
3.3.5 HàM thực hiện ZooM ảnh 52
3.3.6 HàM khai báo Mặt nạ nhân chập (Mẫu) 53
3.3.7 HàM thực hiện nhân chập Ma trận 53
3.3.8 HàM thực hiện lọc trung vị 55
3.3.9 HàM phát hiện và làM nổi biên 57
3.3.10 HàM resize – Thay đổi kích thước ảnh 62
Trang 4KẾT LUẬN 65 TÀI LIỆU THAM KHẢO 66 PHỤ LỤC 67
Trang 5DANH MỤC CÁC HÌNH VẼ
Hình 1-1 Quá trình xử lý ảnh 9
Hình 1-2 Các giai đoạn chính trong xử lý ảnh 9
Hình 1-3 Ví dụ về ảnh đen trắng 11
Hình 1-4 Ví dụ ảnh xáM 12
Hình 1-5 Ví dụ về ảnh Màu 13
Hình 1-6 Lân cận của 1 điểM ảnh 13
Hình 1-7 Lược đồ xáM của ảnh đậM 15
Hình 1-8 Lược đồ xáM ảnh sáng 15
Hình 1-9 Minh họa ảnh biểu diễn bằng Mã loạt dài 16
Hình 1-10 Minh họa biểu diễn bằng Mã xích 17
Hình 2-11 Ảnh sau khi tăng độ sáng (c =100) 22
Hình 2-12 Biểu đồ dãn độ tương phản 23
Hình 2-13 Ảnh gốc và ảnh kết quả sau khi tăng tương phản 23
Hình 2-14 Ảnh gốc và ảnh sau khi biến đổi âM bản 24
Hình 2-15 Ảnh gốc sau khi được tách ngưỡng 25
Hình 2-16 Minh họa về HistograM của ảnh 26
Hình 2-17 Minh họa về cân bằng lược đồ xáM 27
Hình 2-18 TâM Mặt nạ và các điểM lân cận 29
Hình 2-19 Minh họa lọc trung bình không gian 30
Hình 2-20 Minh họa lọc thông thấp 31
Hình 2-21 Minh họa lọc thông cao 32
Hình 2-22 Minh họa lọc ảnh trung vị 33
Hình 2-23 Các dạng đường biên trong xử lý ảnh 34
Hình 2-24 Minh họa dò biên sử dụng toán tử Sobel 37
Hình 2-25 Minh họa dò biên sử dụng toán tử Prewitt 38
Hình 2-26 Minh họa dò biên sử dụng toán tử La bàn 39
Hình 2-27 Minh họa dò biên theo kỹ thuật Lalace – H2 41
Trang 6Hình 2-28 Minh họa dò biên theo PP gián tiếp 42
Hình 3-29 Giao diện chính của chương trình 43
Hình 3-30 Các chức năng con thao tác với File ảnh 44
Hình 3-31 ForM load ảnh 44
Hình 3-32 ForM lưu ảnh sau xử lý 45
Hình 3-33 Các chức năng con trong chỉnh sửa ảnh 45
Hình 3-34 ForM resize kích thước cho ảnh 46
Hình 3-35 Chức năng “Xử lý điểM ảnh” 46
Hình 3-36 ForM thay đổi độ tương phản 47
Hình 3-37 ForM thay đổi độ sáng 47
Hình 3-38 ForM phân ngưỡng tạo ảnh đen trắng 48
Hình 3-39 ForM thay đổi Màu sắc 48
Hình 3-40 Chức năng Lọc ảnh 49
Hình 3-41 Chức năng dò và làM nổi biên ảnh 50
Hình 3-42 ForM nhập ngưỡng khoảng cách Màu 50
Hình 3-43 Chức năng ZooM ảnh 51
DANH MỤC CÁC BẢNG BIỂU Bảng 1-1 Cấu trúc Một tệp ảnh 20
Trang 7THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Thông tin chung
Tên đề tài: Lập trình một số bài toán cơ bản trong xử lý ảnh sốSinh viên thực hiện: Nguyễn Chí Hướng
Nghiên cứu tổng quan về lý thuyết xử lý ảnh số (các thành phần của hệ thống
xử lý ảnh, các khái niệM và vấn đề liên quan, bộ lọc ảnh, biên ảnh…)
Xây dựng giải thuật Một số bài toán cơ bản trong xử lý ảnh số
Xây dựng chương trình thực nghiệM
3 Nội dung chính
Chương 1: Giới thiệu chung về xử lý ảnh
Chương 2: Một số bài toán về xử lý ảnh số (Giới thiệu + Thuật toán)
Chương 3: Xây dựng chương trình thực nghiệM
4 Kết quả chính đạt được
Có được nền tảng kiến thức về xử lý ảnh số Từ đó vận dụng nó để xây dựngđược thuật toán cho Một số bài toán cơ bản trong xử lý ảnh số bằng ngôn ngữ C#.Xây dựng được chương trình thực nghiệM cho Một số bài toán xử lý ảnh số
Trang 8MỞ ĐẦU
1 Tổng quan tình hình nghiên cứu thuộc lĩnh vực của đề tài
Xử lý ảnh là Một lĩnh vực Mang tính khoa học và công nghệ Nó là Một ngànhkhoa học Mới Mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nórất nhanh, kích thích các trung tâM nghiên cứu, ứng dụng, đặc biệt là Máy tínhchuyên dụng riêng cho nó
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chấtlượng ảnh và phân tích ảnh Ứng dụng đầu tiên được biết đến là nâng cao chấtlượng ảnh báo được truyền qua cáp từ Luân Đôn đến New York từ những năM
1920 Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố Mức sáng và độphân giải của ảnh Việc nâng cao chất lượng ảnh được phát triển vào khoảng nhữngnăM 1955 Điều này có thể giải thích được vì sau thế chiến thứ hai, Máy tính pháttriển nhanh tạo điều kiện cho quá trình xử lý ảnh số thuận lợi NăM 1964, Máy tính
đã có khả năng xử lý và nâng cao chất lượng ảnh từ Mặt trăng và vệ tinh Ranger 7của Mỹ bao gồM: làM nổi đường biên, lưu ảnh Từ năM 1964 đến nay, các phươngtiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng Các phươngpháp tri thức nhân tạo như Mạng nơ ron nhân tạo, các thuật toán xử lý hiện đại vàcải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quảkhả quan
Ở Việt NaM xử lý ảnh được đưa vào giảng dạy ở bậc đại học khoảng chụcnăM nay Việc nghiên cứu, xây dựng và phát triển các ứng dụng về lĩnh vực xử lýảnh là Một vấn đề Mới và đang ngày càng được quân tâM nhiều hơn Đã có Một sốứng dụng được xây dựng để xử lý ảnh trong viễn tháM, trong y học hay trong anninh và giáM sát …v.v
2 Tính cấp thiết, ý nghĩa khoa học và thực tiễn của đề tài
Trong những năM gần đâ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ếtMọ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
Trang 9Trong hoàn cảnh đó, xử lý ảnh là Một lĩnh vực đang được quan tâM và đã trởthành Môn học chuyên ngành của sinh viên ngành công nghệ thông tin trong nhiềutrường đại học trên cả nước Tuy nhiên tài liệu, giáo trình phần lớn tập trung vào lýthuyết, các bài toán cơ bản trong xử lý ảnh số thường được thể hiện dưới dạng côngthức toán học, không thể hiện dưới dạng công thức thực dụng để có thể lập trìnhđược.
Vì thế, việc xây dựng thuật toán và lập trình Một số bài toán cơ bản trong xử
lý ảnh số là rất cần thiết, giúp cho việc nghiên cứu, tìM hiểu về lý thuyết xử lý ảnh
số được trực quan, sinh động hơn và dễ tiếp thu hơn
Trang 10CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ XỬ LÝ ẢNH
1.1 Tổng quan về hệ thống xử lý ảnh
Quá trình xử lý ảnh được xeM như là quá trình thao tác ảnh đầu vào nhằM cho
ra kết quả Mong Muốn Kết quả đầu ra của Một quá trình xử lý ảnh có thể là Một ảnh
“tốt hơn” hoặc Một kết luận
Hình 1-1 Quá trình xử lý ảnh
Để có thể hình dung cấu hình Một hệ thống xử lý ảnh chuyên dụng hay Một hệthống xử lý ảnh dùng trong nghiên cứu, đào tạo, trước hết chúng ta xeM xét cácbước cần thiết trong xử lý ảnh
Hình 1-2 Các giai đoạn chính trong xử lý ảnh
Trước hết là quá trình thu nhận ảnh Ảnh có thể thu nhận qua caMera.
Thường ảnh thu nhận qua caMera là tín hiệu tương tự (loại caMera ống kiểu CCIR),nhưng cũng có thể là tín hiệu số hóa (loại CCD – Charge Coupled Device)
Trang 11Ngoài ra, ảnh cũng có thể thu nhận từ vệ tinh qua các bộ cảM ứng (sensor)hay ảnh, tranh được quét trên scanner.
Tiếp theo là quá trình số hóa (digitalizer) để biến đổi tín hiệu tương tự sang tín
hiệu rời rạc(lấy Mẫu) và số hóa bằng lượng hóa, trước khi chuyển sang giai đoạn xử
lý, phân tích hay lưu trữ lại
Quá trình phân tích ảnh thực chất bao gồM nhiều công đoạn nhỏ Trước hết
là công việc tăng cường ảnh Do những nguyên nhân khác nhau: có thể do chấtlượng thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu Mà ảnh có thể bị suy biến
Do vậy cần phải tăng cường và khôi phục ảnh để làM nổi bật Một số đặc tính củaảnh,hay làM cho ảnh gần giống với trạng thái gốc – trạng thái trước khi ảnh bị biếndạng Giai đoạn tiếp theo là phát hiện các đặc tính như: biên, phân vùng ảnh, tríchchọn các đặc tính, v.v…
Cuối cùng, tùy theo Mục đích của ứng dụng Mà sẽ là giai đoạn nhận dạng,phân lớp hay các quyết định khác
1.2 Những vấn đề cơ bản trong xử lý ảnh
1.2.1 Những khái niệm liên quan
a) Điểm ảnh (pixel element)
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử lýbằng Máy tính (số), ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gần đúngMột ảnh liên tục thành Một tập điểM phù hợp với ảnh thật về vị trí (không gian) và
độ sáng (Mức xáM) Khoảng cách giữa các điểM ảnh đó được thiết lập sao cho Mắtngười không phân biệt được ranh giới giữa chúng Mỗi Một điểM như vậy gọi làđiểM ảnh (PEL: Picture EleMent) hay gọi tắt là Pixel Trong khuôn khổ ảnh hai
chiều, Mỗi pixel ứng với cặp tọa độ (x, y).
b) Độ phân giải của ảnh
Độ phân giải (Resolution) của ảnh là Mật độ điểM ảnh được ấn định trên Mộtảnh số được hiển thị
Theo định nghĩa, khoảng cách giữa các điểM ảnh phải được chọn sao cho Mắtngười vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo
nên Một Mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y
trong không gian hai chiều
Trang 12Ví dụ: Độ phân giải của ảnh trên Màn hình CGA (Color Graphic Adaptor) làMột lưới điểM theo chiều ngang Màn hình: 320 điểM chiều dọc * 200 điểM ảnh(320*200) Rõ ràng, cùng Màn hình CGA 12” ta nhận thấy Mịn hơn Màn hình CGA17” độ phân giải 320*200 Lý do: cùng Một Mật độ (độ phân giải) nhưng diện tíchMàn hình rộng hơn thì độ Mịn (liên tục của các điểM) kéM hơn.
c) Mức xám của ảnh (Gray level)
Là kết quả của sự biến đổi tương ứng Một giá trị độ sáng của Một điểM ảnhvới Một giá trị nguyên dương Thông thường nó xác định trong khoảng [0 255].Tùy thuộc vào giá trị xáM Mà Mỗi điểM ảnh được biểu diễn trên 1, 4, 8, 24 hay 32bit
d) Ảnh số
Là tập hợp hữu hạn các điểM ảnh, thường được biểu diễn bằng Một Mảng haichiều I(M,n) với M là số hàng, n là số cột Ta ký hiệu P(x,y) là Một điểM ảnh tại vịtrí (x, y) Số lượng điểM ảnh trên Mỗi hàng hoặc các hàng xác định độ phân giải củaảnh Ảnh số được chia làM 3 loại:
• Ảnh nhị phân
Giá trị xáM của tất các các điểM ảnh chỉ nhận giá trị 1 hoặc 0 Như vậy MỗiđiểM ảnh trong ảnh nhị phân được biểu diễn bới 1 bit
Hình 1-3 Ví dụ về ảnh đen trắng
Trang 13Để 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
Mỗi pixel ảnh Màu ký hiệu Px, được viết: (T: trong công thức dưới đây là ký
Trang 14Hình 1-5 Ví dụ về ảnh Màu
e) Các mối quan hệ cơ bản giữa các điểm ảnh
• Lân cận của Một điểM ảnh
Một điểM ảnh p tại tọa độ (x, y) có các lân cận theo chiều ngang và chiều dọclà: (x+1, y), (x-1, y), (x,y+1), (x, y-1)
Tập hợp các điểM ảnh trên được gọi là lân cận 4 của p, ký hiệu N4(p) MỗiđiểM ảnh có khoảng cách đơn vị đến (x, y), và nếu (x, y) nằM trên biên của ảnh thìlân cận của nó có thể nằM ngoài ảnh
Các lân cận chéo của p có tọa độ: (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1)Tập lân cận chéo được ký hiệu ND(p)
Tập lân cận chéo cùng với lân cận 4 tạo thành lân cận 8 của p, ký hiệu N8(p)
Hình 1-6 Lân cận của 1 điểM ảnh
Trang 15• Liên kết giữa các điểM ảnh
Các Mối liên kết được sử dụng để xác định giới hạn ( Boundaries) của đối
tượng vật thể hoặc xác định vùng trong Một ảnh Một liên kết được đặc trưng bởitính liền kề giữa các điểM và Mức xáM của chúng
Giả sử V là tập các giá trị Mức xáM Một ảnh có các giá trị cường độ sáng từ
thang Mức xáM từ 32 đến 64 được Mô tả như sau:
Hình Minh họa cho lược đồ xáM:
Trang 16đặc điểM của ảnh được gọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh (Region) Một số phương pháp biểu diễn thường dùng:
• Biểu diễn bằng Mã chạy (Run-Length Code)
• Biểu diễn bằng Mã xích (Chaine -Code)
Trang 17• Biểu diễn bằng Mã tứ phân (Quad-Tree Code)
a) Biểu diễn bằng mã chạy
Phương pháp này thường biểu diễn cho vùng ảnh và áp dụng cho ảnh nhịphân Một vùng ảnh R có thể Mã hoá đơn giản nhờ Một Ma trận nhị phân:
U(M,n) = 1 nếu (M,n) thuộc R
U(M,n) = 0 nếu (M,n) không thuộc R
(1.2)
Trong đó: U(m, n) là hàM Mô tả Mức xáM ảnh tại tọa độ (m, n) Với cách biểu diễn trên, Một vùng ảnh được Mô tả bằng Một tập các chuỗi số 0 hoặc 1 Giả sử chúng ta Mô tả ảnh nhị phân của Một vùng ảnh được thể hiện theo toạ độ (x, y) theo các chiều và đặc tả chỉ đối với giá trị “1” Khi đó dạng Mô tả có thể là: (x, y)r; trong
đó (x, y) là toạ độ, r là số lượng các bit có giá trị “1” liên tục theo chiều ngang hoặc
dọc
Hình 1-9 Minh họa ảnh biểu diễn bằng Mã loạt dài
b) Biểu diễn bằng mã xích
Phương pháp này thường dùng để biểu diễn đường biên ảnh Một đường bất
kỳ được chia thành các đoạn nhỏ Nối các điểM chia, ta có các đoạn thẳng kế tiếpđược gán hướng cho đoạn thẳng đó tạo thành Một dây xích gồM các đoạn Cáchướng có thể chọn 4, 8, 12, 24,… Mỗi hướng được Mã hoá theo số thập phân hoặc
số nhị phân thành Mã của hướng
Trang 18Hình 1-10 Minh họa biểu diễn bằng Mã xíchTheo Hình 1 -10 ta thấy được hướng các điểM biên và Mã tương ứng là:
A11070110764545432
c) Biểu diễn bằng mã tứ phân
Theo phương pháp Mã tứ phân, Một vùng của ảnh coi như bao kín bời Mộthình chữ nhật Vùng này được chia làM 4 vùng con Nếu 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ùngcon 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ùngcon 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ỗicác kí kiệu b(black), w(white) và g (grey) kèM theo ký hiệu Mã hóa 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, Mo Men làkhá khó
1.2.3 Tăng cường ảnh
Tăng cường ảnh là bước quan trọng, tạo tiền đề cho xử lý ảnh Tăng cườngảnh nhằM hoàn thiện các đặc tính của ảnh như:
• Lọc nhiễu, hay làM trơn ảnh
• Tăng độ tương phản, điều chỉnh Mức xáM của ảnh
• LàM nổi biên ảnh
Các thuật toán triển khai việc nâng cao chất lượng ảnh hầu hết dựa trên các kỹthuật trong Miền điểM, không gian và tần số
Trang 191.2.4 Phân vùng ảnh
Để phân tích các đối tượng trong ảnh, chúng ta cần phải phân biệt được cácđối tượng cần quan tâM với phần còn lại của ảnh Những đối tượng này có thể tìM
ra được nhờ các kỹ thuật phân vùng ảnh
Vùng ảnh là Một chi tiết, Một thực thể trong toàn cảnh Nói đến vùng ảnh lànói đến tính chất bề Mặt của ảnh Nó là Một tập hợp các điểM có cùng hoặc gầncùng Một tính chất nào đó : Mức xáM, Màu sắc… Đường bao quanh Một vùng ảnh(Boundary) là biên ảnh Các điểM trong Một vùng ảnh có độ biến thiên giá trị MứcxáM tương đối đồng đều hay tính kết cấu tương đồng
Một phương pháp phân vùng ảnh là sử dụng Một ngưỡng giá trị xáM để phântách ảnh thành đối tượng và nền (những điểM dưới ngưỡng xáM thuộc về nền,ngược lại thuộc về đối tượng)
1.2.5 Trích chọn đặc tính
Dựa trên các thông tin thu nhận được qua quá trình phân vùng, kết hợp với các
kỹ thuật xử lý để đưa ra các đặc trưng, đối tượng ảnh cũng như các thông tin cầnthiết trong quá trình xử lý
Việc trích chọn hiệu quả các đặc điểM giúp cho việc nhận dạng các đối tượngảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảM xuống
1.2.6 Nhận dạng ảnh
Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo Một Môhình nào đó và gán chúng Một tên (gán cho đối tượng Một tên gọi, tức là Một dạng)dựa theo những quy luật và Mẫu chuẩn
Theo lý thuyết về nhận dạng, các Mô hình toán học về ảnh được phân theo hailoại nhận dạng ảnh cơ bản:
• Nhận dạng theo thaM số
• Nhận dạng theo cấu trúc
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trongkhoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử),nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng Mã vạch, nhận dạng Mặtngười…
Trang 20Ngoài ra, hiện nay Một kỹ thuật nhận dạng Mới dựa vào kỹ thuật Mạng nơ ronđang được áp dụng và cho kết quả khả quan.
• Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần suất xuấthiện của giá trị các điểM ảnh, trên cơ sở đó Mà có chiến lược Mã hóa thíchhợp Một ví dụ điển hình cho kỹ thuật Mã hóa này là *.TIF
• Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểMảnh để tiến hành Mã hóa Kỹ thuật lợi dụng sự giống nhau của các điểMảnh trong các vùng gần nhau Ví dụ cho kỹ thuật này là Mã nén *.PCX
• Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nénkhông bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn *.JPG chính
là tiếp cận theo kỹ thuật nén này
• Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện
sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phầngốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal
1.3 Các định dạng ảnh cơ bản
Ả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ạinhiều định dạng ảnh khác nhau từ ảnh đen trắng (với định dạng IMG), ảnh đa cấpxáM cho đến ảnh Màu: (BMP, GIF, JPE…) Tuy các định dạng này khác nhau, songchúng đều tuân thủ 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 CoMpression)
• Bảng Màu (Palette Color)
Trang 21Bảng 1-1 Cấu trúc Một tệp ảnhMào đầu tệp
Dữ liệu nén
Bảng Màu
Là phần chứa các thông tin về kiểu ảnh, kích thước, độ phân giải,
số bit dùng cho 1 pixel, cách Mã hóa, vị trí bảng Màu…
Số liệu ảnh được Mã hóa bởi kiểu Mã hóa chỉ ra trong phầnHeader
Bảng Màu không nhất thiết phải có, ví dụ khi ảnh là đen trắng.Nếu có, bảng Màu cho biết số Màu dùng trong ảnh và bảng Màuđược sử dụng để hiện thị Màu của ảnh
1.3.1 Ảnh BMP (Bitmap)
Là ảnh được Mô tả bởi Một Ma trận các giá trị số xác định Màu và bảng Màucủa các điểM ảnh tương ứng khi hiển thị Ưu điểM của ảnh BitMap là tốc độ vẽ vàtốc độ xử lý nhanh Nhược điểM của nó là kích thước rất lớn
1.3.2 Ảnh JPEG (Joint Photographic Experts Group)
Đây là Một định dạng ảnh được hỗ trợ bởi nhiều trình duyệt web Ảnh JPEGđược phát triển để nén dung lượng và lưu trữ ảnh chụp, và được sử dụng tốt nhấtcho đồ họa có nhiều Màu sắc, ví dụ như là ảnh chụp được scan File Ảnh JPEG làảnh BitMap đã được nén lại
1.3.3 Ảnh GIF (Graphics Interchange Format)
Ảnh GIF được phát triển dành cho những ảnh có tính chất thay đổi Nó được
sử dụng tốt nhất cho đồ họa có ít Màu, ví dụ như là ảnh hoạt hình hoặc là những bức
vẽ với nhiều đường thẳng File ảnh GIF là những ảnh BitMap được nén lại
Có hai sự khác nhau cơ bản giữa ảnh GIF và ảnh JPEG:
+ Ảnh GIF nén lại theo cách giữ nguyên toàn bộ dữ liệu ảnh trong khi ảnhJPEG nén lại nhưng làM Mất Một số dữ liệu trong ảnh
+ Ảnh GIF bị giới hạn bởi số Màu nhiều nhất là 256 trong khi ảnh JPEG
không giới hạn số Màu Mà chúng sử dụng
1.3.4 Ảnh WMF (Windows Metafiles)
Là Một tập hợp các lệnh GDI dùng để Mô tả ảnh và nội dung ảnh Có hai ưuđiểM khi sử dụng ảnh WMF: kích thước file WMF nhỏ và ít phụ thuộc vào thiết bịhiển thị hơn so với ảnh BitMap
Trang 22CHƯƠNG 2 MỘT SỐ BÀI TOÁN VỀ XỬ LÝ ẢNH
2.1 Các bài toán cải thiện ảnh sử dụng toán tử điểm
Xử lý điểM ảnh thực chất là biến đổi giá trị Một điểM ảnh dựa vào giá trị củachính nó Mà không hề dựa vào các điểM ảnh khác Có hai cách tiệM cận với phươngpháp này Cách thứ nhất dùng Một hàM biến đổi thích hợp với Mục đích hoặc yêucầu đặt ra để biến đổi giá trị Mức xáM của điểM ảnh sang Một giá trị Mức xáM khác.Cách thứ hai là dùng lược đồ Mức xáM (Gray HistograM) Về Mặt toán học, toán tử
điểM là Một ánh xạ từ giá trị cường độ ánh sáng u(m, n) tại toạ độ (m, n) sang giá tri cường độ ánh sáng khác v(m, n) thông qua hàM f, tức là:
Nói Một cách khác, toán tử điểM là toán tử không bộ nhớ, ở đó Một Mức xáM
u ∈[0, N ] được ánh xạ sang Một Mức xáM v ∈[0, N ] : v = f (u) Ứng dụng chính của
các toán tử điểM là biến đổi độ tương phản của ảnh Ánh xạ f khác nhau tùy theo
các ứng dụng Các dạng toán tử điểM được giới thiệu cụ thể như sau:
2.1.1 Tăng giảm độ sáng
Giả sử ta có ảnh đầu vào I ~ kích thước (M x n) và số nguyên c
Khi đó, kỹ thuật tăng, giảM độ sáng được thể hiện qua thuật toán:
B1: Với mỗi điểm ảnh, thực hiện phép cộng mức xám của nó với giá trị c
Nếu c < 0: ảnh tối đi
Để Minh họa cho bài toán này ta xeM xét Một ví dụ về sự thay đổi của ảnh gốcsau khi ta cho tăng độ sáng của nó là c =100
Trang 23Ảnh gốc Ảnh sau khi tăng Mức sáng c = +100Hình 2-11 Ảnh sau khi tăng độ sáng (c =100)
2.1.2 Tăng độ tương phản
Trước tiên cần làM rõ khái niệM độ tương phản Ảnh số là tập hợp các điểM,
Mỗi điểM có giá trị độ sáng khác nhau Ở đây, độ sáng để Mắt người dễ cảM nhận
ảnh song không phải là quyết định Thực tế chỉ ra rằng hai đối tượng có cùng độ
sáng nhưng đặt trên hai nền khác nhau sẽ cho cảM nhận sáng khác nhau Như vậy,
độ tương phản biểu diễn sự thay đổi độ sáng của đối tượng so với nền Nói Một
cách khác, độ tương phản là độ nổi của điểM ảnh hay vùng ảnh so với nền Như
vậy, nếu ảnh có độ tương phản kéM, ta có thể thay đổi tùy ý theo ý Muốn theo hàM
Trang 24Hình 2-12 Biểu đồ dãn độ tương phảnThuật toán:
B1: Nhập vào các cận a, b, Va và Vb.
B2: Tính giá trị các đại lượng 〈 , ,
B3: For(Với mỗi điểm ảnh)
Nếu giá trị xám I của nó < a: I(x,y)= I(xy)* 〈
Nếu giá trị xám I của nó a < I < b thì: I = (I − a) * +Va
Nếu giá trị xám I của điểm ảnh I > b thì: I = (I − b) * +Vb
B4: Gán giá trị xám mới trở lại cho điểm ảnh.
Hình Minh họa:
Hình 2-13 Ảnh gốc và ảnh kết quả sau khi tăng tương phản
Trang 252.1.3 Biến đổi âm bản
ÂM bản nhận được bằng phép biến đổi âM Phép biến đổi này có rất nhiều hữuích cho các phiM ảnh dùng trong y học
Hình 2-14 Ảnh gốc và ảnh sau khi biến đổi âM bản
2.1.4 Biến đổi ảnh đen trắng
Để chuyển đổi Một ảnh Màu sang ảnh đen trắng ta dùng kĩ thuật tách ngưỡng.Giả sử ta có ảnh I ~ kích thước (M x n), hai số Min, Max và ngưỡng θ Khi đó: Kỹthuật tách ngưỡng được thể hiện qua thuật toán sau:
B1: Thực hiện vòng lặp,thay đổi giá trị độ xám của từng điểm ảnh
Trang 26Ảnh gốc Ảnh đen trắngHình 2-15 Ảnh gốc sau khi được tách ngưỡng
Kỹ thuật chuyển ảnh thành ảnh đen trắng được ứng dụng khi quét và nhậndạng văn bản có thể xảy ra sai sót “nền thành ảnh” hoặc “ảnh thành nền” dẫn đếnảnh bị đứt nét hoặc dính
2.1.5 Các bài toán với lược đồ xám(Histogram)
a) Hiển thị lược đồ xám của ảnh
Theo định nghĩa của lược đồ xáM, thì việc xây dựng nó là khá đơn giản Thuậttoán xây dựng lược đồ xáM có thể Miêu tả như sau:
Trang 27Ảnh gốc Lược đồ Mức xáMHình 2-16 Minh họa về HistograM của ảnh
Lược đồ xáM là Một công cụ hữu hiệu dùng trong nhiều công đoạn của tăng
cường xử lý ảnh
b) Cân bằng lược đồ xám
Với Một ảnh tự nhiên được lượng hóa Một cách tuyến tính, phần lớn các điểM
ảnh có giá trị thấp hơn độ sáng trung bình Trong Miền tối, ta khó có thể cảM nhận
các chi tiết của ảnh Thực tế cần phải khắc phục nhược điểM này bằng cách biến đổi
lược đồ xáM Người ta biến đổi lược đồ sao cho tiến gần tới lược đồ định trước Có
nhiều phương pháp, trong đó phương pháp phổ dụng nhất là san bằng lược đồ.
Nếu ảnh có kích thước (p x p) và ảnh kết quả được Mã hóa trên N F Mức xáM
thì số điểM ảnh cho Một Mức xáM trong lược đồ cân bằng lý tưởng sẽ là hằng số và
bằng P 2 / N F ( N F là số Mức xáM đầu xa) Trên thực tế, N F thường nhỏ hơn
N I
(số Mức xáM ban đầu)
Ta có thuật toán cân bằng lược đồ xáM như sau:
Với bức ảnh đầu vào I(m,n)
B1: Tính tổ chức đồ H[i] của ảnh.
B2: Tính tỷ lệ xuất hiện của mức xám H[i] trên ảnh(H[i]/m*n).
B3: Tính mật độ xác suất của các mức xám H[i](Hc[i]=H[i]+H[i-1]).
B4: San bằng mức xám và gán các mức xám mới cho điểm ảnh đầu
ra.(Eq[i]=255*hc[i]).
Hình Minh họa:
Trang 28Ảnh gốc Ảnh sau khi cân bằng lược đồ xáMHình 2-17 Minh họa về cân bằng lược đồ xáM
2.2 Một số bài toán về lọc nhiễu ảnh
Thường thì ảnh thu nhận sau khi được số hóa có thể gây nhiễu Trên thực tếtồn tại nhiều loại nhiễu, tuy nhiên người ta thường xeM xét 3 loại nhiễu chính: nhiễucộng, nhiễu nhân và nhiễu xung:
• Nhiễu cộng
Nhiễu cộng thường phân bố khắp ảnh Nếu gọi ảnh quan sát (ảnh thu được) là
Xqs, ảnh gốc là Xgoc, nhiễu là η, ảnh thu được có thể biểu diễn bởi:
Nhiễu xung thường gây đột biến tại Một số điểM ảnh
Cơ sở để xử lý điểM ảnh bị nhiễu là dùng thông tin của các điểM ảnh lân cận.Thay thế giá trị điểM ảnh cần xử lý bằng tổ hợp giá trị các điểM ảnh lân cận Việcthay thế dựa trên giả định là các điểM ảnh lân cận có giá trị gần giống với điểM ảnhcần xét
Về kỹ thuật, người ta sử dụng Một Mặt nạ di chuyển khắp ảnh gốc, từ trái quaphải và từ trên xuống dưới Ở Mỗi vị trí của ảnh, tính toán theo các điểM trong Mặt
Trang 29nạ và thay vào giá trị cho điểM ở tâM Mặt nạ Theo các loại Mặt nạ khác nhau Mà cócác cách tính khác nhau, tổ hợp giá trị các điểM lân cận điểM được xét.
2.2.1 Phép cuộn (Tính chập) và mẫu (nhân chập)
Tính chập là Một khái niệM rất quan trọng trong xử lý ảnh Toán tử tính chậpđược định nghĩa như sau:
Giả sử ta có ảnh I kích thước (M x N), Mẫu T có kích thước (M x n) khi đó,ảnh I cuộn theo Mẫu T được xác định bởi công thức:
m−1 n− 1
i =0 j = 0Hoặc:
m−1 n− 1
i =0 j = 0VD: Giả sử ta có:
(2.8)
(2.9)
1
I = 4 7
2 1 5 2 2
4 1 5 1 2
5 4 8 1 1
8 2 8 4 5
7 2 2 1
*
7 12 12 6
*
10 4 12 6
Nguyễn Chí
Hướng
28
Trang 31- Ảnh thực hiện theo 2 công thức trên chỉ sai khác nhau 1 phép dịch chuyển để
đơn giản ta sẽ hiểu phép cuộn là theo công thức đầu tiên
2.2.2 Làm trơn nhiễu bằng lọc tuyến tính
Trong kỹ thuật lọc tuyến tính, ảnh sẽ là tổng trọng số hay là trung bình trọng
số các điểM lân cận với nhân chập hay Mặt nạ Nguyên tắc lọc theo tổng trọng
lượng được trình bày trong hình Hình 2 -18 Thí dụ tâM Mặt nạ là điểM P5 thi điểM
P5 Mới sẽ được tính theo công thức sau:
P5 = P1K1 + P2 K 2 + P3 K 3 + P4 K 4 + P5 K 5 + P6 K 6 + P7 K 7 + P8 K 8 +
P9 K 9
(2.10)
Hình 2-18 TâM Mặt nạ và các điểM lân cận
Ta có thuật toán cho lọc tuyến tính:
B1: Nhập vào ma trận nhân chập H.
B2: Thực hiện vòng lặp:
For (int i=0 ; i<=chiều cao ảnh -2 ; i++) //trừ đi biên ảnh ngang.
For(int j=0 ; j<= chiều rộng ảnh -2; j++) // trừ đi biên ảnh dọc.
{
Thực hiện nhân chập: I (i, j ) ⊗H
}
B3: Gán giá trị trung bình này cho ảnh đầu ra.
a) Lọc trung bình không gian
Với lọc trung bình, Mỗi điểM ảnh được thay thế bằng trung bình trọng số của
các điểM lân cận và được định nghĩa như sau:
( k ,l )∈W
(2.11)
v(m, n) = ∑ ∑a(k , l ) y(m −k
Trang 32Nếu trong kỹ thuật lọc trên, ta dùng các trọng số như nhau, phương trình trở
1
w
và N W là số điểM ảnh trong cửa sổ lọc W
Lọc trung bình có trọng số chính là thực hiện chập ảnh đầu vào với nhân chập
H Nhân chập H trong trường hợp này có dạng:
H =
1 1 1 1
Lọc thông thấp thường được sử dụng để làM trơn nhiễu Về nguyên lý giống
như đã trình bày ở trên Trong kỹ thuật này người ta hay dùng Một số nhân chập
Trang 33∑ ∑y(m −k ,
Với a k ,l = N
1 1 1
9
Trang 34Ta dễ dàng nhận thấy khi b=1, H b chính là nhân chập H 1 (Lọc trung bình)
Để hiểu rõ hơn bản chất khử nhiễu cộng của các bộ lọc này, ta viết lại phương
Ảnh gốc Ảnh sau khi lọc thông thấp
Hình 2-20 Minh họa lọc thông thấp
c) Lọc thông cao
Trang 35hưởng đến các chi tiết tần số thấp Các phần tử có tần số không gian cao sẽ sáng
Trang 36hơn, còn các phần tử có tần số không gian thấp sẽ đen đi Kỹ thuật lọc thông cao
cũng được thực hiện nhờ thao tác nhân chập Các Mặt nạ hay được dùng như:
5
0 0
Ảnh gốc Ảnh sau khi lọc thông cao
Hình 2-21 Minh họa lọc thông caoCác nhân chập thông cao có đặc tính chung là tổng hệ số của bộ lọc bằng 1
Nguyên nhân chính là ngăn cản sự tăng quá giới hạn của các giá trị Mức xáM (các
giá trị điểM ảnh vẫn giữ được giá trị của nó Một cách gần đúng không thay đổi quá
nhiều với giá trị thực)
2.2.3 Làm trơn nhiễu bằng lọc phi tuyến
Khác với lọc tuyến tính, kỹ thuật lọc phi tuyến coi Một điểM ảnh kết quả
không phải là tổ hợp tuyến tính của các điểM lân cận Bộ lọc phi tuyến thường dùng
là lọc trung vị (Median Filtering), nó khá hiệu quả đối với hai loại nhiễu: nhiễu đốM
(speckle noise) và nhiễu Muối tiêu (salt-pepper noise)
a) Lọc trung vị
Trung vị X a của Một chuỗi n phần tử { X n } được định nghĩa:
- Nếu n lẻ: có (n-1)/2 phần tử lớn hơn X a và (n-1)/2 phần tử nhỏ hơn haybằng X a
Nguyễn Chí
Hướng
Trang 37- Nếu n chẵn: X a là trung bình cộng của 2 phần tử
Kỹ thuật này đòi hỏi giá trị các điểM ảnh trong cửa sổ phải xếp theo thứ tự
tăng hay giảM dần so với giá trị trung vị Kích thước cửa sổ thường được chọn sao
ch số điểM ảnh trong cửa sổ là lẻ Các cửa sổ hay dùng là 3x3, 5x5 hay 7x7
Thuật toán lọc trung vị:
B1: Quét cửa sổ lọc lên các thành phần của ảnh gốc; điền các giá trị
được quét vào cửa sổ lọc.
B2: Lấy các thành phần trong của sổ lọc để xử lý.
B3: Sắp xếp theo thứ tự các thành phần trong cửa sổ lọc.
B4: Lưu lại thành phần trung vị, gán cho ảnh đầu ra.
Hình Minh họa:
Ảnh gốc Ảnh sau khi lọc trung vịHình 2-22 Minh họa lọc ảnh trung vị
b) Lọc ngoài (Outlier Filter)
Giả thiết rằng có Một Mức ngưỡng nào đó cho các Mức nhiễu (có thể dựa vàolược đồ xáM) Tiến hành so sánh giá trị của Một điểM ảnh với trung bình số học 8
lân cận của nó Nếu sự sai lệch này lớn hơn ngưỡng, điểM ảnh này được coi như
nhiễu Trong trường hợp này ta thay thế giá trị của điểM ảnh bằng giá trị trung bình
8 lân cận vừa tính được Các cửa sổ tính toán thường là 3x3 Tuy nhiên cửa sổ có
thể Mở rộng đến 5x5 hay 7x7 để đảM bảo tính tương quan giữa các điểM ảnh Vấn
đề quan trọng là xác định ngưỡng đẻ loại nhiễu Mà vẫn không làM Mất thông tin
Nguyễn Chí
Hướng
Trang 39Thuật toán lọc ngoài:
B1: Nhập vào giá trị ngưỡng cho phép.
B2: Quét cửa sổ lọc lên các thành phần của ảnh gốc, điền các giá trị
được quét vào cửa sổ lọc.
B3: Lấy các thành phần các trong cửa sổ lọc để xử lý.
B4: Tính giá trị trung bình của 8 giá trị trong cửa sổ lọc (trừ giá trị tâm
mặt nạ).
B5: Tính độ chênh lệch giữa giá trị tính được ở B4 và giá trị tâm mặt
nạ Nếu giá trị này lớn hơn ngưỡng cho phép thì gán giá trị tâm mặt
nạ đúng bằng giá trị trung bình của 8 giá trị xung quanh.
2.3 Bài toán về phát hiện biên ảnh
2.3.1 Khái niệm, ý nghĩa của biên trong xử lý ảnh
a) Khái niệm biên
Một điểM ảnh được coi là điểM biên nếu có sự thay đổi nhanh hoặc đột ngột
về Mức xáM (hoặc Màu) Ví dụ trong ảnh nhị phân, điểM đen gọi là điểM biên nếulân cận nó có ít nhất Một điểM trắng
Tập hợp các điểM biên liên tiếp tạo thành Một đường biên (hay đường bao).
b) Ý nghĩa của biên trong xử lý ảnh
Trước hết đường biên là Một loại đặc trưng cục bộ tiêu biểu trong phân tích,nhận dạng ảnh Thứ hai, người ta sử dụng biên làM phân cách các vùng xáM (Màu)cách biệt Ngược lại, người ta cũng sử dụng các vùng ảnh để tìM đường phân cách
Hình 2-23 Các dạng đường biên trong xử lý ảnh
Trang 40c) Phân loại các kỹ thuật phát hiện biên
Xuất phát từ các cơ sở trên người ta thường sử dụng hai phương pháp pháthiện biên cơ bản:
• Phát hiện biên trực tiếp
Phương pháp này chủ yếu dựa vào sự biến thiên độ sáng của điểM ảnh để làMnổi biên bằng kỹ thuật đạo hàM
+ Nếu lấy đạo hàM bậc nhất của ảnh: ta có phương pháp Gradient
+ Nếu lấy đạo hàM bậc hai của ảnh: ta có phương pháp Laplace
• Phát hiện biên gián tiếp
Nếu bằng cách nào đấy, ta phân được ảnh thành các vùng thì đường phân ranhgiữa các vùng đó chính là biên việc phân vùng ảnh thường dựa vào kết cấu
(texture) bề Mặt của ảnh
Phương pháp phát hiện biên trực tiếp tỏ ra khá hiệu quả và ít chịu ảnh hưởngcủa nhiễu, song nếu sự biến thiên độ sáng không đột ngột, phương pháp tỏ ra kéMhiệu quả, phương pháp phát hiện biên gián tiếp tuy khó cài đặt, song lại áp dụng khátốt trong trường hợp này
2.3.2 Các phương pháp phát hiện biên
a) Phương pháp Gradient
Phương pháp gradient là phương pháp dò biên cục bộ dựa vào cực đại của đạohàM Theo định nghĩa, gradient là Một véctơ có các thành phần biểu thị tốc độ thayđổi giá trị của điểM ảnh theo hai hướng x và y Các thành phần của gradient đượctính bởi:
Với dx là khoảng cách giữa các điểM theo hướng x (khoảng các tính bằng sốđiểM) và tương tự với dy Trên thực tế, người ta hay dùng với dx = dy = 1