Lập trình một số bài toán cơ bản trong xử lý ảnh số
Trang 1‘pơMỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC BẢNG BIỂU 4
THÔNG TIN KẾT QUẢ NGHIÊN CỨU5
CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ XỬ LÝ ẢNH 8
1.1 Tổng quan về hệ thống xử lý ảnh 8
1.2 Những vấn đề cơ bản trong xử lý ảnh 9
1.2.1 Những khái niệm liên quan 9
1.2.2 Biểu diễn ảnh 14
1.2.3 Tăng cường ảnh 16
1.2.4 Phân vùng ảnh 17
1.2.5 Trích chọn đặc tính 17
1.2.6 Nhận dạng ảnh 17
1.2.7 Nén ảnh 18
1.3 Các định dạng ảnh cơ bản 18 1.3.1 Ảnh BMP (Bitmap) 19
1.3.2 Ảnh JPEG (Joint Photographic Experts Group) 19
1.3.3 Ảnh GIF (Graphics Interchange Format) 19
1.3.4 Ảnh WMF (Windows Metafiles) 19
CHƯƠNG 2 MỘT SỐ BÀI TOÁN VỀ XỬ LÝ ẢNH 20 2.1 Các bài toán cải thiện ảnh sử dụng toán tử điểm 20 2.1.1 Tăng giảm độ sáng 20
2.1.2 Tăng độ tương phản 21
Trang 22.1.3 Biến đổi âm bản 23
2.1.4 Biến đổi ảnh đen trắng 23
2.1.5 Các bài toán với lược đồ xám(Histogram) 24
2.2 Một số bài toán về lọc nhiễu ảnh 26 2.2.1 Phép cuộn (Tính chập) và mẫu (nhân chập) 27
2.2.2 Làm trơn nhiễu bằng lọc tuyến tính 28
2.2.3 Làm trơn nhiễu bằng lọc phi tuyến 31
2.3 Bài toán về phát hiện biên ảnh 33 2.3.1 Khái niệm, ý nghĩa của biên trong xử lý ảnh 33
2.3.2 Các phương pháp phát hiện biên 34
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 61 KẾT LUẬN 64
Trang 3PHỤ LỤC 66
Trang 4DANH MỤC CÁC HÌNH VẼ
Hình 1-1 Quá trình xử lý ảnh 8
Hình 1-2 Các giai đoạn chính trong xử lý ảnh 8
Hình 1-3 Ví dụ về ảnh đen trắng 10
Hình 1-4 Ví dụ ảnh xám 11
Hình 1-5 Ví dụ về ảnh màu 12
Hình 1-6 Lân cận của 1 điểm ảnh 12
Hình 1-7 Lược đồ xám của ảnh đậm 14
Hình 1-8 Lược đồ xám ảnh sáng 14
Hình 1-9 Minh họa ảnh biểu diễn bằng mã loạt dài 15
Hình 1-10 Minh họa biểu diễn bằng mã xích 16
Hình 2-1 Ảnh sau khi tăng độ sáng (c =100) 21
Hình 2-2 Biểu đồ dãn độ tương phản 22
Hình 2-3 Ảnh gốc và ảnh kết quả sau khi tăng tương phản 22
Hình 2-4 Ảnh gốc và ảnh sau khi biến đổi âm bản 23
Hình 2-5 Ảnh gốc sau khi được tách ngưỡng 24
Hình 2-6 Minh họa về Histogram của ảnh 25
Hình 2-7 Minh họa về cân bằng lược đồ xám 26
Hình 2-8 Tâm mặt nạ và các điểm lân cận 28
Hình 2-9 Minh họa lọc trung bình không gian 29
Hình 2-10 Minh họa lọc thông thấp 30
Hình 2-11 Minh họa lọc thông cao 31
Hình 2-12 Minh họa lọc ảnh trung vị 32
Hình 2-13 Các dạng đường biên trong xử lý ảnh 34
Hình 2-14 Minh họa dò biên sử dụng toán tử Sobel 36
Hình 2-15 Minh họa dò biên sử dụng toán tử Prewitt 37
Hình 2-16 Minh họa dò biên sử dụng toán tử La bàn 39
Hình 2-17 Minh họa dò biên theo kỹ thuật Lalace – H2 40
Trang 5Hình 2-18 Minh họa dò biên theo PP gián tiếp 42
Hình 3-1 Giao diện chính của chương trình 43
Hình 3-2 Các chức năng con thao tác với File ảnh 44
Hình 3-3 Form load ảnh 44
Hình 3-4 Form lưu ảnh sau xử lý 45
Hình 3-5 Các chức năng con trong chỉnh sửa ảnh 45
Hình 3-6 Form resize kích thước cho ảnh 46
Hình 3-7 Chức năng “Xử lý điểm ảnh” 46
Hình 3-8 Form thay đổi độ tương phản 47
Hình 3-9 Form thay đổi độ sáng 47
Hình 3-10 Form phân ngưỡng tạo ảnh đen trắng 48
Hình 3-11 Form thay đổi màu sắc 48
Hình 3-12 Chức năng Lọc ảnh 49
Hình 3-13 Chức năng dò và làm nổi biên ảnh 50
Hình 3-14 Form nhập ngưỡng khoảng cách màu 50
Hình 3-15 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 18
Trang 6THÔ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 7MỞ ĐẦ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 haychuyê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 8Trong 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 9CHƯƠ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 10Ngoà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ất lượngthiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu mà ảnh có thể bị suy biến Dovậ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
CHƯƠNG 2Đ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).
CHƯƠNG 3Độ 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 11Ví 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.
CHƯƠNG 4Mứ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 ảnh vớimột giá trị nguyên dương Thông thường nó xác định trong khoảng [0 255] Tùythuộ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 32 bit
CHƯƠNG 5Ả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Ảnh xám
Trang 12Giá trị xám nằm trong khoảng 0…255 Như vậy mỗi điểm ảnh trong ảnh nhịxám được biểu diễn bới 1 byte.
Hình 1-4 Ví dụ ảnh xám
Ảnh màu
Ả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áchbiể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)
Để 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ý
hiệu chuyển vị)
x red green blue
Trang 13Hình 1-5 Ví dụ về ảnh màu
CHƯƠNG 6Cá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 14 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:
+ Liên kết m (liên kết hỗn hợp): Hai điểm ảnh p và q với các giá trị cường độ
sáng V được nói là liên kết m nếu: q thuộc N 4 (p) hoặc q thuộc N D (p).
CHƯƠNG 7Lược đồ mức xám (Histogram)
Lược đồ mức xám của ảnh là một hàm cung cấp tuần suất xuất hiện của mỗimức xám trong ảnh Lược đồ mức xám được biểu diễn trong hệ tọa độ Decac xOy,trong đó Ox biểu diễn các mức xám của ảnh (256 mức trong trường hợp chúng taxét), Oy biểu diễn số điểm ảnh cho một mức xám (số điểm ảnh có cùng mức xám).Lược đồ mức xám cung cấp rất nhiều thông tin về sự phân bố mức xám củaảnh Theo thuật ngữ của xử lý ảnh gọi là tính động của ảnh, tính động của ảnh chophép phân tích một khoảng nào đó phân bố phần lớn các mức xám của ảnh: ảnh rấtsáng hay rất đậm Nếu ảnh sáng, lược đồ xám nằm bên phải (mức xám cao), cònảnh đậm thì lược đồ xám nằm bên trái (mức xám thấp)
Hình minh họa cho lược đồ xám:
Trang 15đặ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 16 Biểu diễn bằng mã tứ phân (Quad-Tree Code)
CHƯƠNG 8Biể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
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
CHƯƠNG 9Biể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 17Hì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
CHƯƠNG 10Biể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à sovớ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ó
10.1.1 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 1810.1.2 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)
10.1.3 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
10.1.4 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 19Ngoà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
10.2 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 20Bảng 1-1 Cấu trúc một tệp ảnhMào đầu tệp 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…
Dữ liệu nén Số liệu ảnh được mã hóa bởi kiểu mã hóa chỉ ra trong phần
Header
Bảng màu
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
10.2.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
10.2.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
10.2.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 JPEGkhông giới hạn số màu mà chúng sử dụng
10.2.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 21CHƯƠNG 11 MỘT SỐ BÀI TOÁN VỀ XỬ LÝ ẢNH
11.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à:
)) , ( ( )
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 for (int i = 0; i < m; i + +)
for (int j = 0; j < n; j + +)
I [i, j] = I [i, j] + c;
B2: Gán giá trị độ xám mới cho điểm ảnh đầu ra.
Nếu c > 0: ảnh sáng lên
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 22Ả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)
11.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 sau:
b u a V a u
a u u
) ( )
Trang 23Hì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 2411.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
u L
Hình 2-14 Ảnh gốc và ảnh sau khi biến đổi âm bản
11.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 25Ả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
11.1.5 Các bài toán với lược đồ xám(Histogram)
CHƯƠNG 12Hiể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:
Kết thúc
Hình minh họa:
Trang 26Ả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ăngcường xử lý ảnh
CHƯƠNG 13Câ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ậncá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 đổilượ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ámthì 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 Flà 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 27Ả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
13.1 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 28nạ 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.
13.1.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:
1 0
) , (
* ) , ( )
,
i
n j
j i T j y i x I y
1 0
) , (
* ) , ( )
,
i
n j
j i T j y i x I y
4 4 1 1 2 1
2 8 8 5 5 4
2 2 4 1 1 2
7 8 5 4 2 1
0 1
T
Khi đó:
) 1 , 1 ( ) ,
(
) 1 , 1 (
* ) 1 , 1 ( ) 0 , 0 (
* ) , ( ) , (
* ) , ( )
x
I
T y
x I T
y x I j i T j y i x I y
* 12 12 6 6 6
* 4 12 9 6 7
* 10 7 8 3 2
T I
Nhận xét:
- Trong quá trình thực hiện phép cuộn có một số thao tác ra ngoài ảnh, ảnhkhông được xác định tại những vị trí đó dẫn đến ảnh thu được có kích thước nhỏhơn
Trang 29- Ả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.
13.1.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ọnglượ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ểmP5 mới sẽ được tính theo công thức sau:
9 9 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1
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.
CHƯƠNG 14Lọ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ủacác điểm lân cận và được định nghĩa như sau:
l n k m y l k a n
m
v
) , (
) , ( ) , ( )
,
Trang 30Nếu trong kỹ thuật lọc trên, ta dùng các trọng số như nhau, phương trình trởthành:
l n k m y N
n
m
v
) , (
) , (
1 )
Với
w l
k
N
a , 1 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:
1 1 1
1 1 1 9
Trang 311 2 1
0 1 0 8
1 1
) 2 (
2
b
b b b
b b
H b
Ta dễ dàng nhận thấy khi b=1, H b chính là nhân chập H1 (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ươngtrình thu nhận ảnh dưới dạng:
goc W
n m l
n k m X N
n
m
Y
) , (
) , ]
, [ 1
n goc
N n
m
Y
, (
Hình 2-20 Minh họa lọc thông thấp
CHƯƠNG 16Lọc thông cao
Các kỹ thuật lọc trên là lọc thông thấp Nó được dùng để lọc nhiễu Ngoài lọcthông thấp, người ta còn sử dụng lọc thông cao Lọc thông cao dùng để làm nổi bậtcác chi tiết có tần số không gian cao (thí dụ như các điểm biên) mà không ảnhhưở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 32hơ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 caocũng được thực hiện nhờ thao tác nhân chập Các mặt nạ hay được dùng như:
1 9 1
1 1 1
1 5 1
0 1 0
2 5 2
1 2 1
Hình minh họa:
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ácgiá 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)
16.1.1 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)
CHƯƠNG 17Lọ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
Trang 33- Nếu n chẵn: X a là trung bình cộng của 2 phần tử X i và X j X n sao cho
có (n-2)/2 phần tử nhỏ hơn hay bằng X i và (n-2)/2 phần tử lớn hơn hay bằng X j
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:
Hình 2-22 Minh họa lọc ảnh trung vị
CHƯƠNG 18Lọ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 8lâ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.Thuật toán lọc ngoài:
Trang 34B1: 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.
18.1 Bài toán về phát hiện biên ảnh
18.1.1 Khái niệm, ý nghĩa của biên trong xử lý ảnh
CHƯƠNG 19Khá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).
CHƯƠNG 20Ý 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