ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN
GIÁO TRÌNH MÔN HỌC
XỬ LÝ ẢNH Ngườ i soạn : TS. ĐỖ NĂNG TOÀN, TS. PHẠ PHẠM VIỆ VIỆT BÌNH
Thái Nguyên, Tháng 11 năm 2007 1
LỜ I NÓI ĐẦU
Khoả Khoảng hơ n mườ mườ i nă n ăm tr ở ở lại đây, phầ phần cứ cứng máy tính và các thiế thiết bị bị liên quan đã có sự sự titiếến bộ vượ t bậc về tốc độ tính toán, dung lượ lượ ng ng chứ chứa, khả khả năng xử xử lý v.v.. và giá cả cả đã giả giảm đến đến mứ mức máy tính và các thiế thiết bị bị liên quan đến đến xử lý ảnh đã không còn là thiế thiết bị chuyên dụ dụng nữa. Khái niệ niệm ảnh số đã tr ở ở nên thông dụ dụng vớ i hầu hết mọi ngườ ngườ i trong xã hộ hội và việ việc thu nhậ nhận ảnh số bằng các thiế thiết bị cá nhân hay chuyên dụ dụng cùng vớ vớ i việ việc đưa đưa vào máy tính xử xử lý đã tr ở ở nên đơ n giả giản. Trong hoàn cả cảnh đó, xử xử lý ảnh là mộ một lĩ lĩ nh nh vự vực đang đượ c quan tâm và đã tr ở ở thành môn họ học chuyên ngành củ của sinh viên ngành công nghệ nghệ thông tin trong nhiề nhiều tr ườ ườ ng ng đại đại học trên cả cả nướ c. c. Tuy nhiên, tài liệ liệu giáo trình còn là mộ một điều khó khă khăn. Hiệ Hiện tạ t ại chỉ ch ỉ có mộ m ột số s ố ít tài liệ liệu bằ b ằng tiế tiếng Anh hoặ hoặc tiế tiếng Pháp, tài liệ liệu bằ bằng tiế tiếng Việ Việt thì r ất hiế hiếm. Vớ Vớ i mong muố muốn đóng góp vào sự sự nghiệ nghiệp đào tạ tạo và nghiên cứ cứu trong lĩ lĩ nh nh vự vực này, chúng tôi biên lý ảnh dựa trên đề cươ soạ soạn cuố cu ốn giáo trình X ng ng môn họ học đã đượ c duyệ duyệt. ử ử Cuố Cuốn sách tậ tập trung vào các vấ vấn đề cơ bản của xử lý ảnh nhằ nhằm cung cấ c ấp một nền tảng kiế kiến thứ thức đầy đầy đủ và chọ chọn lọc nh n hằm giúp ngườ ngườ i đọc đọc có thể thể tự tìm hiể hiểu và xây dự dựng các chươ chươ ng ng trình ứng dụ dụng liên quan đến đến xử xử lý ảnh. Giáo trình đượ c chia làm 5 chươ chươ ng ng và phầ phần phụ phụ lục: Chươ Chươ ng ng 1, trình bày Tổ Tổng quan về về xử lý ảnh, các khai niệ niệm cơ cơ bản, sơ sơ đồ tổng quát củ của mộ một hệ thố thống xử lý ảnh và các vấ vấn đề cơ bản trong xử xử lý ảnh. Chươ Chươ ng ng 2, trình bày các k ỹ thu thuậật nâng cao chấ chất lượ ng ng ảnh dựa vào các thao tác vớ vớ i điểm ảnh, nâng cao chấ chất lượ ng ng ảnh thông qua việ việc xử x ử lý các điểm ảnh trong lân cận điểm ảnh đang xét. Chươ Chươ ng ng này cũ cũng trình bày các k ỹ thu thuậật nâng cao chấ chất lượ lượ ng ng ảnh nhờ nhờ vào các phép toán hình thái. Chươ Chươ ng ng 3, trình bày các k ỹ thuậật cơ thu bản trong việ việc phát hiệ hiện biên củ của các đối đối tượ ng ng ảnh theo cả cả hai khuynh hướ hướ ng: ng: Phát hiệ hiện biên tr ực tiế tiếp và phát hiệ hiện biên gián tiế tiếp. Chươ Chươ ng ng 4 thể th ể hiệ hiện cách k ỹ thu thuậật tìm xươ xươ ng ng theo khuynh hướ hướ ng ng tính toán tr ục trung vị và hướ hướ ng ng tiế tiếp cậ cận xấ xấp xỉ xỉ nhờ nhờ các thuậ thuật toán làm mả mảnh song song và gián titiếếp. Và cuố cuối cùng là Chươ Chươ ng ng 5 vớ vớ i các k ỹ thu thuậật hậ hậu xử xử lý. Giáo trình đượ c biên soạ soạn dự d ựa trên kinh nghiệ nghiệm giả giảng dạ d ạy củ c ủa tác giả giả trong nhiề nhiều năm tại các khóa đại đại học và cao họ học của ĐH Công nghệ nghệ ĐHQG Hà Nộ Nội, ĐH Khoa họ học tự tự nhiên – ĐHQG Hà Nộ Nội, Khoa Công nghệ nghệ thông tin – ĐH Thái Nguyên v.v.. Cuố Cuốn sách có thể thể làm tài liệ liệu tham khả khảo cho sinh viên các hệ hệ k ỹ sư, cử nhân và các bạ bạn quan tâm đến đến vấn đề nhậ nhận dạng và xử xử lý ảnh. 2
Các tác giả giả bày tỏ tỏ lòng biế biết ơ n chân thành tớ tớ i các bạ bạn đồng đồng nghiệ nghiệp trong Phòng Nhậ Nhận dạng và công nghệ nghệ tri thứ thức, Việ Viện Công nghệ nghệ thông tin, Bộ môn Hệ Hệ thố thống thông tin, Khoa Công nghệ nghệ thông tin, ĐH Thái Nguyên, Khoa Công nghệ nghệ thông tin, ĐH Công nghệ nghệ, ĐHQG Hà Nộ Nội, Khoa Toán – Cơ – Tin, ĐH Khoa họ học tự nhiên, ĐHQG Hà Nộ Nội đã động động viên, góp ý và giúp đỡ để hoàn chỉ chỉnh nộ nội dung cuố cuốn sách này. Xin cám ơ n Lãnh đạo đạo Khoa Công nghệ nghệ thông tin, ĐH Thái Nguyên, Ban Giám đốc đốc ĐH Thái Nguyên đã hỗ tr ợ ợ và tạ tạo điều kiệ kiện để cho ra đờ i giáo trình này. Mặc dù r ất cố gắng như nhưng tài liệ liệu này chắ chắc chắ chắn không tránh khỏ khỏi nhữ những sai sót. Chúng tôi xin trân tr ọng tiế tiếp thu tấ tất cả nhữ những ý kiế kiến đóng góp củ của bạ bạn đọc đọc cũ cũng như như các bạ bạn đồng đồng nghiệ nghiệp để có chỉ chỉnh lý k ịp thờ thờ i.i. Thư Thư góp ý xin gử gửi về về: Ph Phạạm Việ Việt Bình, Khoa Công nghệ nghệ thông tin – ĐH Thái nguyên. Xã Quyế Quyết Thắ Thắng, Tp. Thái Nguyên Điện thoạ thoại: 0280.846506 0280.84650 6 Email:
[email protected] [email protected] n Thái Nguyên, ngày 22 tháng 11 n ă m 2007 CÁC TÁC GIẢ
3
MỤC LỤC
LỜI NÓI ĐẦU ĐẦU ......................................... ............................................................... ............................................ ............................................ ............................................ ............................................ ...................................... ................ 2 MỤC LỤ LỤC ............................................ .................................................................. ............................................ ........................................... .............................................. .............................................. ........................................... ........................ 4 Chươ Chươ ng ng 1: TỔ TỔNG QUAN VỀ VỀ XỬ LÝ ẢNH ............................................ .................................................................. ......................................... ................... 7 1.1. XỬ XỬ LÝ ẢNH, CÁC VẤ VẤN ĐỀ CƠ BẢN TRONG XỬ XỬ LÝ ẢNH .................. 7 1.1.1. Xử Xử lý ảnh là gì? ........................................... ................................................................. ............................................ ........................................... ............................................ ................................ ......... 7 1.1.2. Các vấ vấn đề cơ bản trong xử xử lý ảnh ........................................... ................................................................. ............................................ ........................ 7 1.1.2.1 Mộ Một số số khái niệ niệm cơ cơ bản ......................................... ............................................................... ........................................... ......................................... .................... 7 1.1.2.2 Nắ Nắn chỉ chỉnh biế biến dạ dạng ......................................... ............................................................... ............................................ ........................................... ............................... .......... 8 1.1.2.3 Khử Khử nhi nhiễễu ......................................... ............................................................... ............................................ ............................................ ............................................ ...................................... ................ 9 1.1.2.4 Chỉ Chỉnh mứ mức xám: .......................................... ................................................................ ........................................... ........................................... .......................................... .................... 9 1.1.2.5 Trích chọ chọn đặc đặc điểm ......................................... ............................................................... ............................................ ........................................... ............................... .......... 9 1.1.2.6 Nhậ Nhận dạ dạng ............................................ ................................................................. ........................................... ............................................ ............................................. ............................... ........ 10 1.1.2.7 Nén ảnh ............................................ .................................................................. ........................................... ........................................... ............................................. ...................................... ............... 11 1.2. THU NHẬ NHẬN VÀ BIỂ BIỂU DIỄ DIỄN ẢNH .......................................... ................................................................ ............................................ ........................... ..... 11 1.2.1. Thu nhậ nhận, các thiế thiết bị bị thu nhậ nhận ảnh......................................... ............................................................... ......................................... ................... 11 1.2.2. Biể Biểu diễ diễn ảnh .......................................... ................................................................ ............................................ ............................................ ............................................ .................................. ............ 12 1.2.2.1. Mô hình Raster ............................................ .................................................................. ........................................... ........................................... ...................................... ................ 12 1.2.2.2. Mô hình Vector ........................................... ................................................................. ........................................... ........................................... ...................................... ................ 13 Chươ Chươ ng ng 2: CÁC K Ỹ THUẬ THUẬT NÂNG CAO CHẤ CHẤT LƯỢ LƯỢNG NG ẢNH................... 14 2.1. CÁC K Ỹ THUẬ THUẬT KHÔNG PHỤ PHỤ THUỘ THUỘC KHÔNG GIAN .......................... 14 2.1.1. Giớ Giớ i thiệ thiệu.......................................... ............................................................... ........................................... ............................................ .............................................. .............................................. ...................... 14 2.1.2. Tă Tăng giả giảm độ sáng ......................................... ................................................................ ............................................. ............................................ ......................................... ................... 14 2.1.3. Tách ngưỡ ngưỡ ng ng ......................................... ............................................................... ........................................... ........................................... ............................................. ...................................... ............... 15 2.1.4. Bó cụ cụm ......................................... .............................................................. ........................................... ............................................ ............................................. ............................................. .............................. ........ 15 2.1.5. Cân bằ bằng histogram ........................................... ................................................................. ........................................... ........................................... ...................................... ................ 16 2.1.6. K ỹ thu thuậật tách ngưỡ ngưỡ ng ng tự tự động động ............................................ ................................................................. ........................................... ............................... ......... 17 2.1.7. Biế Biến đổi đổi cấ cấp xám tổ tổng thể thể ............................................ .................................................................. ............................................ ......................................... ................... 18 2.2. CÁC K Ỹ THUẬ THUẬT PHỤ PHỤ THUỘ THUỘC KHÔNG GIAN ..................................................... 20 2.2.1. Phép cuộ cuộn và mẫ mẫu ........................................... .................................................................. ............................................. ............................................ ......................................... ................... 20 4
2.2.2. Mộ Một số số mẫu thông dụ dụng ........................................... ................................................................. ............................................ ........................................... ........................... ...... 21 2.2.3. Lọ Lọc trung vị vị ........................................... ................................................................. ........................................... ........................................... ............................................. ...................................... ............... 22 2.2.4. Lọ Lọc trung bình ........................................... ................................................................ ........................................... ............................................ ............................................. ............................... ........ 24 2.2.5. Lọ Lọc trung bình theo k giá tr ị gần nhấ nhất.......................................... ................................................................ .................................. ............ 25 2.3. CÁC PHÉP TOÁN HÌNH THÁI HỌ HỌC ........................................... ................................................................. ......................................... ................... 26 2.3.1. Các phép toán hình thái cơ cơ bản.......................................... ............................................................... ........................................... ............................... ......... 26 2.3.2. Mộ Một số số tính chấ chất củ của phép toán hình thái......................................... ............................................................... ........................... ..... 27 Chươ Chươ ng ng 3: BIÊN VÀ CÁC PHƯƠ PHƯƠNG NG PHÁP PHÁT HIỆ HIỆN BIÊN ..................... 32 3.1. GIỚ GIỚI THIỆ THIỆU ......................................... ............................................................... ............................................ ........................................... ............................................ ............................................. ........................... ..... 32 3.2. CÁC PHƯƠ PHƯƠNG NG PHÁP PHÁT HIỆ HIỆN BIÊN TR ỰC Ự TIẾ TIẾP ................................. 32 3.2.1. K ỹ thu thuậật phát hiệ hiện biên Gradient........................................... ................................................................. ............................................ .......................... 32 3.2.1.1. K ỹ thu thuậật Prewitt ......................................... ............................................................... ........................................... ........................................... ...................................... ................ 34 3.2.1.2. K ỹ thu thuậật Sobel......................................... ................................................................ ............................................. ............................................ ......................................... ................... 35 3.2.1.3. K ỹ thu thuậật la bàn........................................ ............................................................... ............................................. ............................................ ......................................... ................... 35 3.2.2. K ỹ thu thuậật phát hiệ hiện biên Laplace .......................................... ................................................................ ............................................ ........................... ..... 36 3.3. PHÁT HIỆ HIỆN BIÊN GIÁN TIẾ TIẾP............................................ .................................................................. ........................................... ..................................... ................ 37 3.3.1 Mộ Một số số khái niệ niệm cơ cơ bản .......................................... ................................................................ ............................................ ........................................... ........................... ...... 37 3.3.2. Chu tuyế tuyến củ của mộ một đối đối tượ tượ ng ng ảnh......................................... ............................................................... ............................................ .......................... 38 3.3.3. Thuậ Thuật toán dò biên tổ tổng quát ......................................... ............................................................... ........................................... ..................................... ................ 40 Chươ Chươ ng ng 4: XƯƠ XƯƠNG NG VÀ CÁC K Ỹ THUẬ THUẬT TÌM XƯƠ XƯƠNG NG ........................................ 44 4.1. GIỚ GIỚI THIỆ THIỆU ......................................... ............................................................... ............................................ ........................................... ............................................ ............................................. ........................... ..... 44 4.2. TÌM XƯƠ XƯƠNG NG DỰ DỰ A TRÊN LÀM MẢ MẢNH ......................................... ............................................................... .................................. ............ 44 4.2.1. Sơ Sơ lượ c về về thu thuậật toán làm mả mảnh .......................................... ................................................................ ............................................ ........................... ..... 44 4.2.2. Mộ Một số số thu thuậật toán làm mả mảnh ........................................... ................................................................. ........................................... ..................................... ................ 46 4.3. TÌM XƯƠ XƯƠNG NG KHÔNG DỰ DỰ A TRÊN LÀM MẢ MẢNH ................................................ 46 4.3.1. Khái quát về về lượ c đồ Voronoi......................................... ............................................................... ............................................ .................................. ............ 47 4.3.2. Tr ục trung vị vị Voronoi r ờ ời r ạc........................................... ................................................................. ............................................ .................................. ............ 47 4.3.3. Xươ Xươ ng ng Voronoi r ờ ời r ạc .......................................... ............................................................... ........................................... ............................................ ............................... ......... 48 4.3.4. Thuậ Thuật toán tìm xươ xươ ng ng .......................................... ................................................................ ............................................ ............................................ .................................. ............ 49 Chươ Chươ ng ng 5: CÁC K Ỹ THUẬ THUẬT HẬ HẬU XỬ XỬ LÝ......................................... ............................................................... ......................................... ................... 52 5.1. RÚT GỌ GỌN SỐ SỐ LƯỢNG ƯỢNG ĐIỂM BIỂ BIỂU DIỄ DIỄN.......................................... ................................................................ ........................... ..... 52 5.1.1. Giớ Giớ i thiệ thiệu.......................................... ............................................................... ........................................... ............................................ .............................................. .............................................. ...................... 52 5
5.1.2. Thuậ Thuật toán Douglas Peucker .......................................... ................................................................ ........................................... ..................................... ................ 52 5.1.2.1. Ý tưở tưở ng ng .......................................... ................................................................ ........................................... ........................................... ............................................. ...................................... ............... 52 5.1.2.2. Chươ Chươ ng ng trình ......................................... ............................................................... ............................................ ............................................ .............................................. ........................ 53 5.1.3. Thuậ Thuật toán Band width .......................................... ............................................................... ........................................... ............................................ ............................... ......... 54 5.1.3.1. Ý tưở tưở ng ng .......................................... ................................................................ ........................................... ........................................... ............................................. ...................................... ............... 54 5.1.3.2. Chươ Chươ ng ng trình ......................................... ............................................................... ............................................ ............................................ .............................................. ........................ 56 5.1.4. Thuậ Thuật toán Angles ........................................... .................................................................. ............................................. ............................................ ......................................... ................... 57 5.1.4.1. Ý tưở tưở ng ng .......................................... ................................................................ ........................................... ........................................... ............................................. ...................................... ............... 57 5.1.4.2. Chươ Chươ ng ng trình ......................................... ............................................................... ............................................ ............................................ .............................................. ........................ 57 5.2. XẤ XẤP XỈ XỈ ĐA GIÁC BỞ BỞI CÁC HÌNH CƠ CƠ SỞ......................................... ............................................................... ........................... ..... 58 5.2.1 Xấ Xấp xỉ xỉ đa giác theo bấ bất biế biến đồng đồng dạ dạng .......................................... ............................................................... .............................. ......... 59 5.2.2 Xấ Xấp xỉ xỉ đa giác theo bấ bất biế biến aphin ............................................. ................................................................... ......................................... ................... 62 5.3. BIẾ BIẾN ĐỔI ĐỔI HOUGH ........................................... ................................................................. ............................................ ........................................... ............................................ ............................ ..... 63 5.3.1. Biế Biến đổi đổi Hongh cho đườ ng ng thẳ thẳng ......................................... ............................................................... ............................................ .......................... 63 5.3.2. Biế Biến đổi đổi Hough cho đườ ng ng thẳ thẳng trong tọ tọa độ cực ....................................... 64 5.3.2.1. Đườ ng ng thẳ thẳng Hough trong tọ tọa độ cực ....................................... ............................................................. .......................... 64 5.3.2.2. Áp dụ dụng biế biến đổi đổi Hough trong phát hiệ hiện góc nghiêng vă văn bả bản ...................................................................................... .......................................... ........................................................................... ............................... 65 PHỤ PH Ụ LỤC ........................................... ................................................................ ........................................... ............................................ ............................................. ............................................. ........................................... ......................... 68 TÀI LIỆ LIỆU THAM KHẢ KHẢO .......................................... ................................................................ ............................................ ............................................ .............................................. ........................ 76
6
Chươ Chươ ng ng 1:
TỔNG QUAN VỀ XỬ LÝ ẢNH 1.1. XỬ LÝ ẢNH, CÁC VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH 1.1.1. Xử lý ảnh là gì? Con ngườ ngườ i thu nhậ nhận thông tin qua các giác quan, trong đó thị thị giác đóng vai trò quan tr ọng nhấ nhất. Nhữ Những năm tr ở ở lại đây vớ i sự phát triể triển của phầ phần cứng máy tính, xử xử lý ảnh và đồ hoạ hoạ đó phát triể triển một cách mạ mạnh mẽ và có nhiề nhiều ứng dụng trong cuộ cuộc sống. Xử Xử lý ảnh và đồ hoạ hoạ đóng mộ một vai trò quan tr ọng trong tươ tươ ng ng tác ngườ ngườ i máy. Quá trình xử xử lý ảnh đượ c xem như như là quá trình thao tác ảnh đầu đầu vào nhằ nhằm cho ra k ết quả quả mong muố muốn. K ết quả quả đầu đầu ra củ của một quá trình xử xử lý ảnh có thể thể là mộ một ảnh “tố “tốt hơ hơ n” n” hoặ hoặc mộ một k ết luậ luận.
Ảnh
Ảnh “Tố “Tốt hơ hơ n” n”
XỬ LÝ ẢNH
K ết lu n Hình 1.1. Quá trình xử lý ảnh
Ảnh có thể thể xem là tậ tập hợ p các điểm ảnh và mỗ mỗi điểm ảnh đượ c xem như như là đặc đặc tr ưng cườ ng ng độ sáng hay mộ một dấ d ấu hiệ hi ệu nào đó tạ t ại mộ m ột vị v ị trí nào đó của đối đối tượ ng trong không gian và nó có thể ng thể xem như như một hàm n biế biến P(c1, c2,..., cn). Do đó, ảnh trong xử xử lý ảnh có thể thể xem như như ảnh n chiề chiều. Sơ đồ tổng quát củ của mộ một hệ hệ thố thống xử xử lý ảnh: Hệ quyế quyết định định Thu nhậ nhận ảnh (Scanner, Camera,Sensor)
Tiề Tiền x ử lý
Trích chọ chọn đặc đặc điểm
Hậu xử lý
Đối Đối sánh rút ra k ết luậ luận Lưu tr ữ
Hình 1.2. Các bướ c cơ bản trong một hệ thống xử lý ảnh
1.1.2. Các vấn đề cơ bản trong xử lý ảnh 1.1.2.1 Một số khái niệm cơ bản * Ả nh nh và đ iể m ảnh: 7
Điểm ảnh đượ c xem như như là dấu hiệ hiệu hay cườ cườ ng ng độ sáng tạ tại 1 toạ toạ độ trong không gian củ của đối đối tượ ng ng và ảnh đượ c xem như như là 1 tậ tập hợ p các điểm ảnh. * M ứ ức xám, màu Là số số các giá tr ị có thể thể có củ của các điểm ảnh củ của ảnh 1.1.2.2 Nắn chỉnh biến dạng Ảnh thu nhậ nhận thườ thườ ng ng bị biế biến dạng do các thiế thiết bị quang họ học và điện tử. P’i
Pi
×f(Pi)
Ảnh thu nhận
Ảnh mong muốn
Hình 1.3. Ảnh thu nhận và ảnh mong muốn
Để khắ khắc phụ phục ngườ ngườ i ta sử sử dụng các phép chiế chiếu, các phép chiế chiếu thườ thườ ng ng đượ c xây dự dựng trên tậ tập các điểm điều khiể khiển. Giả Giả sử (Pi, Pi’) i = 1, n có n các tậ tập điều khiể khiển Tìm hàm f: Pi n
∑
af
(Pi) sao cho 2
' → min f ( P i ) − P i
i =1
Giả Giả sử ảnh bị biế biến đổi đổi chỉ chỉ bao gồ gồm: Tị T ịnh tiế tiến, quay, tỷ tỷ lệ, biế biến dạng bậc nhấ nhất tuyế tuyến tính. Khi đó hàm f có dạ dạng: f (x, y) = (a1x + b1y + c1, a2x + b2y + c2) Ta có: φ =
n
n
∑ ( f ( Pi) − Pi ) = ∑ [(a x + b y + c − x ) i =1
' 2
i =1
1 i
1 i
1
' 2 i
2
+ (a 2 xi + b2 yi + c2 − yi' )
]
Để cho φ → min
8
n n n ⎧ ∂φ ⎧n 2 ' ⎪ ∂a = 0 ⎪∑ a1 xi + ∑ b1 x i y i + ∑ c1 x i = ∑ x i x i i =1 i =1 i =1 ⎪ 1 ⎪ i =1 n n n ⎪ ∂φ ⎪n 2 ⎨ ∂ = 0 ⇔ ⎨∑ a1 x i y i + ∑ b1 y i + ∑ c1 y i = ∑ y i x i' i =1 i =1 i =1 ⎪ b1 ⎪ i =1 n n ⎪ ∂φ ⎪n ⎪ = 0 ⎪∑ a1 x i + ∑ b1 y i + nc1 = ∑ x i' i =1 i =1 ⎩ i =1 ⎩ ∂c1
Giả Giải hệ hệ phươ phươ ng ng trình tuyế tuyến tính tìm đượ c a1, b1, c1 Tươ ng ng tự tự tìm đượ c a2, b2, c2 ⇒ Xác định định đượ c hàm f 1.1.2.3 Khử nhiễu Có 2 loạ loại nhiễ nhiễu cơ cơ bản trong quá trình thu nhậ nhận ảnh • Nhiề Nhiều hệ thố thống: là nhiễ nhiễu có quy luậ luật có thể thể khử khử bằng các phép biế biến đổi đổi • Nhiễ Nhiễu ngẫ ngẫu nhiên: vế vết bẩn không rõ nguyên nhân → khắ khắc phụ phục bằng các phép lọ lọc 1.1.2.4 Chỉnh mứ c xám: Nhằ Nhằm khắ khắc phụ phục tính không đồng đồng đều đều của hệ thố thống gây ra. Thông thườ thườ ng ng có 2 hướ hướ ng ng tiế tiếp cậ cận: Giảm số mức xám: Thự Thực hiệ hiện bằng cách nhóm các mứ mức xám gầ g ần • Giả nhau thành mộ một bó. Tr ườ ườ ng ng hợ p chỉ chỉ có 2 mứ mức xám thì chính là chuyể chuyển về ảnh đen tr ắng. Ứ ng ng dụng: In ảnh màu ra máy in đen tr ắng. Thực hiệ hiện nội suy ra các mứ mức xám trung gian • Tăng số mức xám: Thự bằng k ỹ thu thuậật nội suy. K ỹ thu thuậật này nhằ nhằm tăng cườ ng ng độ mịn cho ảnh 1.1.2.5 Trích chọn đặc điểm Các đặc đặc điểm của đối đối tượ ng ng đượ c trích chọ chọn tuỳ tuỳ theo mụ mục đích nhậ nhận dạng trong quá trình xử xử lý ảnh. Có thể thể nêu ra mộ một số đặc đặc điểm của ảnh sau đây: bố mức xám, phân bố bố xác suấ suất, biên độ, độ, Đặc điểm không gian: Phân bố điểm uố uốn v.v.. đặc điểm loạ lo ại này đượ c trích chọ chọn bằ b ằng việ việc Đặc điểm bi ến đổi: Các đặc thự thực hiệ hiện lọc vùng (zonal filtering). Các bộ bộ vùng đượ c gọi là “mặ “mặt nạ đặc đặc
9
điểm” (feature mask) thườ thườ ng ng là các khe hẹ hẹp vớ i hình dạ dạng khác nhau (chữ (chữ nhậ nhật, tam giác, cung tròn v.v..) Đặc tr ưng cho đườ ng ng biên củ của đối đối Đặc điểm biên và đườ ng ng biên: Đặc tượ ng ng và do vậ vậy r ất hữu ích trong việ việc trích tr ọn các thuộ thuộc tính bấ bất biế biến đượ c dùng khi nhậ nhận dạng đối đối tượ ng. ng. Các đặc đặc điểm này có thể thể đượ c trích chọ chọn nhờ nhờ toán tử tử gradient, toán tử tử la bàn, toán tử tử Laplace, toán tử tử “chéo không” (zero crossing) v.v.. Việ Việc trích chọ chọn hiệ hiệu quả quả các đặc đặc điểm giúp cho việ việc nhậ nhận dạng các đối đối tượ ng ng ảnh chính xác, vớ vớ i tốc độ tính toán cao và dung lượ lượ ng ng nhớ nhớ l ưu tr ữ giả gi ảm xuố xu ống. 1.1.2.6 Nhận dạng Nhậ Nhận dạng tự động động (automatic recognition), mô tả tả đối đối tượ ng, ng, phân loạ loại và phân nhóm các mẫ mẫu là nhữ những vấ v ấn đề quan tr ọng trong thị thị giác máy, đượ c ứng dụ d ụng trong nhiề nhiều ngành khoa họ học khác nhau. Tuy nhiên, mộ một câu hỏi đặt đặt ra là: mẫ mẫu (pattern) là gì? Watanabe, mộ một trong nhữ những ngườ ngườ i đi đầu đầu trong lĩ lĩ nh nh vực này đã định định nghĩ nghĩ a: a: “Ngượ “Ngượ c lại vớ i hỗn loạ loạn (chaos), mẫ mẫu là một thự thực thể thể (entity), đượ c xác định định mộ một cách ang áng (vaguely defined) và có thể thể gán cho nó mộ một tên gọ gọi nào đó”. Ví dụ dụ mẫu có thể thể là ảnh củ của vân tay, ảnh của một vật nào đó đượ c chụ chụp, một chữ chữ viế viết, khuôn mặ mặt ngườ ngườ i hoặ hoặc một ký đồ tín hiệ hiệu titiếếng nói. Khi biế biết một mẫ m ẫu nào đó, để nhậ nhận dạ d ạng hoặ hoặc phân loạ loại mẫ mẫu đó có thể thể: Hoặ Hoặc phân loại có mẫu (supervised classification), chẳ chẳng hạn phân tích phân biệ biệt (discriminant analyis), trong đó mẫ mẫu đầu đầu vào đượ c định định danh như như một thành phầ phần củ của mộ một lớ lớ p đã xác định. định. Hoặ Hoặc phân loại không có mẫu (unsupervised classification hay clustering) trong đó các mẫ mẫu đượ c gán vào các lớ lớ p khác nhau dự dựa trên mộ một tiêu chuẩ chuẩn đồng đồng dạ d ạng nào đó. Các lớ lớ p này cho đến đến thờ th ờ i điểm phân loạ loại vẫ v ẫn chư chưa biế biết hay chư chưa đượ c định định danh. Hệ thố thống nhậ nhận dạng tự động động bao gồ gồm ba khâu tươ tươ ng ng ứng vớ i ba giai đoạn chủ chủ yếu sau đây: 1o. Thu nhậ nhận dữ dữ liliệệu và tiề tiền xử xử lý. 2o. Biể Biểu diễ diễn dữ dữ liliệệu. 3o. Nhậ Nhận dạ dạng, ra quyế quyết định. định. Bốn cách tiế tiếp cậ cận khác nhau trong lý thuyế thuyết nhậ nhận dạ dạng là: 1o. Đối Đối sánh mẫ mẫu dự dựa trên các đặc đặc tr ưng đượ c trích chọ chọn. 2o. Phân loạ loại thố thống kê. 3o. Đối Đối sánh cấ cấu trúc. 10
4o. Phân loạ loại dự dựa trên mạ mạng nơ nơ -ron -ron nhân tạ tạo. Trong các ứng dụng rõ ràng là không thể thể chỉ chỉ dùng có mộ một cách tiế tiếp cận đơ n lẻ để phân loạ loại “tố “tối ưu” do vậ vậy cần sử dụng cùng mộ một lúc nhiề nhiều phươ phươ ng ng pháp và cách tiế tiếp cận khác nhau. Do vậ vậy, các phươ phươ ng ng thứ thức phân loạ loại tổ tổ hợ p hay đượ c sử sử dụng khi nhậ nhận dạ dạng và nay đã có nhữ những k ết quả quả có triể triển vọ vọng dự dựa trên thiế thiết k ế các hệ hệ thố thống lai (hybrid system) bao gồ gồm nhiề nhiều mô hình k ết hợ hợ p. p. Việ Việc giả giải quyế quyết bài toán nhậ nhận dạng trong nhữ những ứng dụng mớ i,i, nảy sinh trong cuộ cuộc sống không chỉ chỉ tạo ra nhữ những thách thứ thức về thu thuậật giả giải, mà còn đặt đặt ra nhữ những yêu cầ cầu về tốc độ tính toán. Đặc Đặc điểm chung củ của tất cả nhữ những ứng dụ d ụng đó là nhữ những đặc đặc điểm đặc đặc tr ưng cầ cần thiế thiết thườ th ườ ng ng là nhiề nhiều, không thể thể do chuyên gia đề xuấ xuất, mà phả phải đượ c trích chọ chọn dự d ựa trên các thủ thủ tục phân tích dữ dữ liliệệu. 1.1.2.7 Nén ảnh Nhằ Nhằm giả giảm thiể thiểu không gian lư lưu tr ữ. Thườ Thườ ng ng đượ c tiế ti ến hành theo cả cả hai cách khuynh hướ hướ ng ng là nén có bả bảo toàn và không bả bảo toàn thông tin. Nén không bả bảo toàn thì thườ thườ ng ng có khả khả năng nén cao hơ hơ n như nhưng khả khả năng phụ phục hồ h ồi thì kém hơ hơ n. n. Trên cơ cơ sở hai khuynh hướ hướ ng, ng, có 4 cách tiế tiếp cậ c ận cơ c ơ bản trong nén ảnh: thống kê: K ỹ thu thuậật nén này dự dựa vào việ việc thố thống kê tầ tần xuấ xuất • Nén ảnh thố xuấ xuất hiệ hiện của giá tr ị các điểm ảnh, trên cơ cơ sở đó mà có chiế chiến lượ c mã hóa thích hợ hợ p. p. Một ví dụ dụ điển hình cho k ỹ thu thuậật mã hóa này là *.TIF • Nén ảnh không gian: K ỹ thu thuậật này dự dựa vào vị vị trí không gian củ của các điểm ảnh để titiếến hành mã hóa. K ỹ thu thuậật lợ lợ i dụ dụng sự sự giố giống nhau của các điểm ảnh trong các vùng gầ gần nhau. Ví dụ dụ cho k ỹ thu thuậật này là mã nén *.PCX • Nén ảnh sử dụng phép biế biến đổi: đổi: Đây là k ỹ thu thuậật titiếếp cận theo hướ ng ng nén không bả bảo toàn và do vậ vậy, k ỹ thu thuậật thướ thướ ng ng nế nến hiệ hiệu quả quả hơ n. n. *.JPG chính là tiế tiếp cậ cận theo k ỹ thu thuậật nén này. Sử dụng tính chấ chất Fractal củ của các đối đối tượ ng ng ảnh, • Nén ảnh Fractal: Sử thể thể hiệ hiện sự s ự lặp lạ l ại củ của các chi tiế tiết. K ỹ thu thuậật nén sẽ sẽ tính toán để chỉ chỉ cần lưu tr ữ phầ phần gốc ảnh và quy luậ luật sinh ra ảnh theo nguyên lý Fractal
1.2. THU NHẬN VÀ BIỂU DIỄN ẢNH 1.2.1. Thu nhận, các thiết bị thu nhận ảnh 11
Các thiế thiết bị thu nhậ nhận ảnh bao gồ gồm camera, scanner các thiế thiết bị thu nhậ nhận này có thể thể cho ảnh đen tr ắng Các thiế thiết bị thu nhậ nhận ảnh có 2 loạ loại chính ứng vớ i 2 loạ loại ảnh thông dụng Raster, Vector. Các thiế thiết bị thu nhậ nhận ảnh thông thườ thườ ng ng Raster là camera các thiế thi ết bị thu nhậ nhận ảnh thông thườ thườ ng ng Vector là sensor hoặ hoặc bàn số số hoá Digitalizer hoặ hoặc đượ c chuyể chuyển đổi đổi từ từ ảnh Raster. Nhìn chung các hệ hệ thố thống thu nhậ nhận ảnh thự thực hiệ hiện 1 quá trình biến: biế biến đổi đổi nă năng lượ lượ ng ng quang họ học thành nă năng lượ lượ ng ng điện • Cảm biế hợ p nă năng lượ lượ ng ng điện thành ảnh • Tổng hợ
1.2.2. Biểu diễn ảnh Ảnh trên máy tính là k ết quả quả thu nhậ nhận theo các phươ phươ ng ng pháp số số hoá đượ c nhúng trong các thiế thiết bị k ỹ thu thuậật khác nhau. Quá trình lư lưu tr ữ ảnh nhằ nhằm 2 mụ mục đích: Tiết kiệ kiệm bộ bộ nhớ nhớ • Tiế Giảm thờ thờ i gian xử xử lý • Giả Việ Việc lư lưu tr ữ thông tin trong bộ bộ nhớ nhớ có ảnh hưở hưở ng ng r ất lớ lớ n đến đến việ việc hiể hiển thị thị, in ấn và xử xử lý ảnh đượ c xem như như là 1 tậ tập hợ p các điểm vớ v ớ i cùng kích thướ thướ c nế n ếu sử sử dụng càng nhiề nhiều điểm ảnh thì bứ bức ảnh càng đẹp, đẹp, càng mị mịn và càng thể thể hiệ hiện rõ hơ hơ n chi tiế tiết của ảnh ngườ ngườ i ta gọ gọi đặc đặc điểm này là độ phân giả giải. Việ Việc lựa chọ chọn độ phân giả giải thích hợ hợ p tuỳ tuỳ thu thuộộc vào nhu cầ cầu sử dụng và đặc đặc tr ưng của mỗi ảnh cụ thể thể, trên cơ cơ sở đó các ảnh thườ thườ ng ng đượ c biể biểu diễ diễn theo 2 mô hình cơ cơ b ản 1.2.2.1. Mô hình Raster Đây là cách biể biểu diễ diễn ảnh thông dụ dụng nhấ nhất hiệ hiện nay, ảnh đượ c biể biểu diễ diễn dướ i dạng ma tr ận các điểm (điểm ảnh). Thườ Thườ ng ng thu nhậ nhận qua các thiếết bị như thi như camera, scanner. Tuỳ Tuỳ theo yêu cầ cầu thự thực thế thế mà mỗi điểm ảnh đượ c biể biểu diễ diễn qua 1 hay nhiề nhiều bít Mô hình Raster thuậ thuận lợ i cho hiể hiển thị thị và in ấn. Ngày nay công nghệ nghệ phầ phần cứ c ứng cung cấ cấp nhữ nh ững thiế thiết bị b ị thu nhậ nhận ảnh Raster phù hợ hợ p vớ vớ i tố tốc độ nhanh và chấ chất lượ ng ng cao cho cả cả đầu đầu vào và đầu đầu ra. Mộ Một thuậ thuận lợ i cho việ việc hiể hiển thị thị trong môi tr ườ ườ ng ng Windows là Microsoft đưa đưa ra khuôn dạ dạng ảnh DIB (Device Independent Bitmap) làm trung gian. Hình 1.4 thể thể hình quy trình chung để hiể hiển thị thị ảnh Raster thông qua DIB.
12
Một trong nhữ những hướ hướ ng ng nghiên cứ cứu cơ cơ bản trên mô hình biể biểu diễ diễn này là k ỹ thu thuậật nén ảnh các k ỹ thu thuậật nén ảnh lạ lại chia ra theo 2 khuynh hướ hướ ng ng là nén bả bảo toàn và không bả bảo toàn thông tin nén bả bảo toàn có khả khả năng phụ phục hồi hoàn toàn dữ dữ liliệệu ban đầu đầu còn nế nếu không bả bảo toàn chỉ chỉ có khả khả năng phụ phục hồ h ồi độ sai số số cho phép nào đó. Theo cách tiế tiếp cậ c ận này ngườ ngườ i ta đã đề ra nhiề nhiều quy cách khác nhau như như BMP, TIF, GIF, PCX… Hiệ Hiện nay trên thế thế giớ giớ i có trên 50 khuôn dạ dạng ảnh thông dụ dụng bao gồ gồm cả trong đó các k ỹ thu thuậật nén có khả khả năng phụ phục hồ h ồi dữ d ữ liliệệu 100% và nén có khả khả năng phụ phục hồ hồi vớ vớ i độ sai số số nhậ nhận đượ c. c. Paint
BMP PCC .. .
Cửa sổ sổ
DIB
Thay đổi đổi Hình 1.4. Quá trình hi ển thị và chỉnh sử a, a, lư u trữ ảnh thông qua DIB
1.2.2.2. Mô hình Vector Biể Biểu diễ diễn ảnh ngoài mụ mục đích tiế tiết kiệ kiệm không gian lư lưu tr ữ dễ dàng cho hiể hiển thị thị và in ấn còn đảm đảm bảo dễ dàng trong lự lựa chọ chọn sao chép di chuyể chuyển tìm kiế kiếm… Theo nhữ những yêu cầ cầu này k ỹ thu thuậật biể biểu diễ diễn vector tỏ tỏ ra ưu việ việt hơ hơ n. n. Trong mô hình vector ngườ ngườ i ta sử sử dụng hướ ng ng giữ giữa các vector củ của điểm ảnh lân cậ cận để mã hoá và tái tạ tạo hình ảnh ban đầu đầu ảnh vector đượ c thu nhậ nhận tr ực titiếếp từ các thiế thiết bị số hoá như như Digital hoặ hoặc đượ c chuyể chuyển đổi đổi từ ảnh Raster thông qua các chươ chươ ng ng trình số số hoá Công nghệ nghệ phầ phần cứ c ứng cung cấ cấp nh n hững thiế thiết bị b ị xử lý vớ v ớ i tố t ốc độ nhanh và chấ chất lượ lượ ng ng cho cả cả đầu đầu vào và ra như nhưng lạ lại chỉ chỉ hỗ tr ợ ợ cho ảnh Raster. Do vậ v ậy, nhữ những nghiên cứ cứu về v ề biể biểu diễ diễn vectơ vectơ đều đều tậ t ập trung từ từ chuyể chuyển đổi đổi từ từ ảnh Raster. RASTER
Vecter hóa
VECTOR
Raster hóa
RASTER
Hình 1.5. Sự chuyển đổi giữ a các mô hình biểu diễn ảnh
13
Chươ Chươ ng ng 2:
CÁC K NG NG ẢNH Ỹ THUẬT NÂNG CAO CHẤT LƯỢ 2.1. CÁC K Ỹ THUẬT KHÔNG PHỤ THUỘC KHÔNG GIAN 2.1.1. Giớ i thiệu Các phép toán không phụ phụ thu thuộộc không gian là các phép toán không phụ phục thuộ thuộc vị vị trí củ của điểm ảnh. Ví dụ: Phép tă tăng giả giảm độ sáng , phép thố thống kê tầ tần suấ suất, biế biến đổi đổi tần suấ suất v.v.. Một trong nhữ những khái niệ niệm quan tr ọng trong xử xử lý ảnh là biể biểu đồ tần suấ suất (Histogram) Biể Biểu đồ tần suấ suất của mức xám g củ của ảnh I là số số điểm ảnh có giá tr ịg của ảnh I. Ký hiệ hiệu là h(g) Ví dụ dụ: 1 2 0 4 1 0 0 7 I= 2 2 1 0 4 1 2 1 2 0 1 1 g h(g)
0 5
1 7
2 5
4 2
7 1
2.1.2. Tăng giảm độ sáng Giả Giả sử ta có I ~ kích thướ thướ c m × n và số số nguyên c Khi đó, k ỹ thu thuậật tă tăng, giả giảm độc độc sáng đượ c thể thể hiệ hiện for (i = 0; i < m; i + +) for (j = 0; j < n; j + +) I [i, j] = I [i, j] + c; • Nếu c > 0: ảnh sáng lên • Nếu c < 0: ảnh tố tối đi
14
2.1.3. Tách ngưỡ ng ng Giả Giả sử ta có ảnh I ~ kích thướ thướ c m × n, hai số số Min, Max và ngưỡ ngưỡ ng ng θ khi đó: K ỹ thu thuậật tách ngưỡ ngưỡ ng ng đượ c thể thể hiệ hiện for (i = 0; i < m; i + +) for (j = 0; j < n; j + +) I [i, j] = I [i, j] > = θ? Max : Min; * Ứ ng ng d ụng: Nếu Min = 0, Max = 1 k ỹ thu thuậật chuyể chuyển ảnh thành ảnh đen tr ắng đượ c ứng dụ dụng khi quét và nhậ nhận dạ dạng vă văn bả bản có thể thể xảy ra sai sót nề nền thành ảnh hoặ hoặc ảnh thành nề nền dẫ dẫn đến đến ảnh bị bị đứt đứt nét hoặ hoặc dính.
2.1.4. Bó cụm K ỹ thu thuậật nhằ nhằm giả giảm bớ t số mức xám củ của ảnh bằng cách nhóm lạ lại số mức xám gầ gần nhau thành 1 nhóm Nếu chỉ chỉ có 2 nhóm thì chính là k ỹ thu thuậật tách ngưỡ ngưỡ ng. ng. Thông thườ thườ ng ng có nhiề nhiều nhóm vớ vớ i kích thướ thướ c khác nhau. Để tổng quát khi biế biến đổi đổi ngườ ngườ i ta sẽ sẽ lấy cùng 1 kích thướ thướ c bunch_size h(g)
g
0
I [i,j] = I [i,j]/ bunch - size * bunch_size ∀(i,j) Ví dụ dụ: Bó cụ cụm ảnh sau vớ vớ i bunch_size= 3
I=
1 2 7 4
2 1 2 1
4 3 6 2
6 4 9 1
7 5 1 2
15
Ikq =
0 0 6 3
0 0 0 0
3 3 6 0
6 3 9 0
6 3 0 0
2.1.5. Cân bằng histogram Ảnh I đượ c gọi là cân bằ bằng "lý tưở tưở ng" ng" nế nếu vớ i mọi mức xám g, g’ ta có h(g) = h(g’) Giả Giả sử, ta có ảnh I ~ kích ướ th cm×n new_level ~ố s mức xám củ của ảnh cân bằ bằng m×n TB = ~ số điểm ảnh trung bình củ của mỗi mức xám new _ level
của ảnh cân bằ bằng t ( g )=
g
∑ h(i)
~ s ố điểm ảnh có mứ mức xám ≤ g Xác định định hàm f: g a f(g) i =0
⎧ t ( g )⎞ ⎫ ⎛ ( g ) = max⎨0, round ⎜ ⎟ − 1⎬ Sao cho: f TB ⎝ ⎠ ⎭ ⎩ Ví dụ dụ: Cânằbng ảnh sau vớ vớ i new_level= 4 1 2 4 6 7 2 1 3 4 5 I= 7 2 6 9 1 4 1 2 1 2 g h(g) t(g) f(g) 1 5 5 0 2 5 10 1 3 1 11 1 4 3 14 2 5 1 15 2 6 2 17 2 7 2 19 3 9 1 20 3
16
0 1 2 2 3 1 0 1 2 2 Ikq = 3 1 2 3 0 2 0 1 0 1 Chú ý: Ảnh sau khi thự thực hiệ hiện cân bằ bằng chư chưa chắ chắc đã là cân bằ bằng "lý tưở tưở ng ng "
2.1.6. K ng ng tự ỹ thuật tách ngưỡ động Ngưỡ Ngưỡ ng ng θ trong k ỹ thu thuậật tách ngưỡ ngưỡ ng ng thườ thườ ng ng đượ c cho bở bở i ngườ ngườ i sử dụng. K ỹ thu thuậật tách ngưỡ ngưỡ ng ng tự động động nhằ nhằm tìm ra ngưỡ ngưỡ ng ng θ một cách tự tự động động dựa vào histogram theo nguyên lý trong vậ vật lý là vậ vật thể thể tách làm 2 phầ phần nế nếu tổ tổng độ lệnh trong từ từng phầ phần là tố tối thiể thiểu. Giả Giả sử, ta có ảnh I ~ kích ướ th cm×n G ~ là số mức xám củ của ảnh k ể cả khuyế khuyết thiế thiếu t(g) ~ số số điểm ảnh có mứ mức xám ≤ g 1 g m( g )= i.h(i ) t ( g ) i =0 ~ mômen quán tính TB có ứmc xám ≤ g
∑
a f ( g ) Hàm f: g
f ( g )=
t ( g ) ) − m(G − 1)]2 [m( g mxn − t ( g )
Tìm θ sao cho: (θ ) = max { f f ( g )}
Ví dụ dụ: Tìm ngưỡ ngưỡ ng ng tự tự động động củ của ảnh sau 0 1 2 3 4 5 0 0 1 2 3 4 I= 0 0 0 1 2 3 0 0 0 0 1 2 0 0 0 0 0 1 Lập bả bảng g h(g) t(g) g.h(g)
g
∑ ih(i)
m(g)
f(g)
0 5
0 0,25
1.35 1.66
i =0
0 1
15 15 5 20
0 5
17
2 4 24 8 13 0,54 3 3 27 9 22 0,81 4 2 29 8 30 1,03 5 1 30 5 35 1,16 Ngưỡ Ngưỡ ng ng cầ cần tách θ= 1 ứng vớ vớ i f(θ)= 1.66
1.54 1.10 0.49
∞
2.1.7. Biến đổi cấp xám tổng thể Nếu biế biết ảnh và hàm biế biến đổi đổi thì ta có thể thể tính đượ c ảnh k ết quả quả và do đó ta sẽ sẽ có đượ c histogram củ của ảnh biế biến đổi. đổi. Như Nhưng thự thực tế tế nhi nhiềều khi ta chỉ chỉ biế biết histogram củ của ảnh gốc và hàm biế biến đổi, đổi, câu hỏ hỏi đặt đặt ra là liệ liệu ta có thể thể có đượ c histogram củ của ảnh biế biến đổi. đổi. Nếu có như như vậy ta có thể thể hiệ hiệu chỉ chỉnh hàm biế biến đổi đổi để thu đượ c ảnh k ết quả quả có phân bố bố histogram như như mong muố muốn. Bài toán đặt đặt ra là biế biết histogram củ của ảnh, biế biết hàm biế biến đổi đổi hãy vẽ vẽ histogram củ của ảnh mớ mớ i.i. Ví dụ dụ: g 1 2 3 4 h(g) 4 2 1 2 g + 1 nế nếu g ≤ 2 f(g)= g ếnu g = 3 g – 1 nếu g > 3 Bướ c 1: Vẽ Histogram củ của ảnh cũ cũ f(g)
0
g
18
Bướ c 2: Vẽ đồ thị thị hàm f(g)
h(g)
g
0 Bướ c 3: Vẽ Histogram củ của ảnh mớ mớ i
Đặt Đặt q = f(g) h(q) = card ({P| I(P) = q}) = card ({P| I(P) = f(g)}) -1 = card ({P| g = f (I(P))}) = ∑ h(i ) −1 i∈ f (q)
h(g) f(g)
g
0
Histogram củ của ảnh mớ mớ i thua đượ c bằ bằng cách chồ chồng hình và tính giá tr ị theo các q (= f(g)) theo công thứ thức tính trên. K ết quả quả cuố cuối thu đượ c sau phép quay góc 90 thuậ thuận chiề chiều kim đồng đồng hồ hồ.
19
2.2. CÁC K Ỹ THUẬT PHỤ THUỘC KHÔNG GIAN 2.2.1. Phép cuộn và mẫu Giả Giả sử ta có ảnh I kích thướ thướ c M × N, mẫu T có kích thướ thướ c m × n khi đó, ảnh I cuộ cuộn theo mẫ mẫu T đượ c xác định định bở bở i công thứ thức.
⊗ T I ( x, y ) =
m −1
n −1
i =0
j =0
(x + i, y + j ) * T (i, j ) ∑ ∑ I
(2.1)
m−1 n −1
⊗ T ( x, y) = ∑ Hoặ Hoặc I i =0
(x − i, y − j ) * T (i, j ) ∑ I
(2.2)
j =0
VD: 1 2 2 1 I= 4 5 1 2 7 2 T= 1 0 0 1
⊗ T I ( x, y ) =
4 1 5 1 2
1
1
i =0
j =0
5 4 8 1 1
8 2 8 4 5
7 2 2 4 2
( x + i, y + j )* T (i, j ) = I ( x, y ) * T (0,0) + I ( x + 1, y + 1) * T (1,1) ∑ ∑ I
= I ( x, y ) + I (x + 1, y + 1) 2 3 8 7 7 6 9 12 I ⊗ T = 6 6 6 12 3 4 2 6 * * * * Tính theo công thứ thức 2.2 * * * * * 2 3 8 I⊗T= * 7 6 9 * 6 6 6 * 3 4 2
10 4 12 6 *
* * * * *
Tính theo (2.1)
* * 7 10 12 4 12 12 6 6
20
* Nhận xét:
- Trong quá trình thự thực hiệ hiện phép cuộ cuộn có mộ một số số thao tác ra ngoài ảnh, ảnh không đượ c xác định định tại nh n hững vị trí đó dẫ d ẫn đến đến ảnh thu đượ c có kích thướ thướ c nhá hơ hơ n. n. - Ảnh thự thực hiệ hiện theo công thứ thức 2.1 và 2.2 chỉ chỉ sai khác nhau 1 phép dịch chuyể chuyển để đơ n giả giản ta sẽ sẽ hiể hiểu phép cuộ cuộn là theo công thứ thức 2.1
2.2.2. Một số mẫu thông dụng - Mẫ Mẫu: 1 1 1 T1 = 1 1 1 1 1 1 1 ~ Dùng để khử khử nhi nhiễễu ⇒ Các điểm có tầ tần số số cao VD1: 1 2 4 5 8 7 2 31 1 4 2 2 I= 4 5 5 8 8 2 1 2 1 1 4 4 7 2 2 1 5 2 55 65 45 46 * * 52 58 34 35 * * I ⊗ T1 = 29 27 35 35 * * * * * * * * * * * * * * Áp dụ dụng k ỹ thu thuậật cộ cộng hằ hằng số số vớ i c = -27, ta có: 28 38 18 19 * * 25 31 7 8 * * Ikq = 2 0 8 8 * * * * * * * * * * * * * * - Mẫ Mẫu: 0 -1 0 T2 = -1 4 -1 0 -1 0 21
~ Dùng để phát hiệ hiện các điểm có tầ tần số số cao VD2: 114 -40 0 -14 * * -22 5 14 16 * * I ⊗ T2 =-1 -6 -10 -2 * * * * * * * * * * * * * *
2.2.3. Lọc trung vị * Định nghĩ a 2.1 (Trung vị) Cho dãy x1; x 2...; xn đơ n điệu tă t ăng (giả (giảm). Khi đó trung vị vị của dãy ký hiệ hiệu là Med({xn}), đượ c định định nghĩ nghĩ a: a: ⎡n ⎤ + Nế Nếu n lẻ lẻ x ⎢ + 1⎥ ⎣2 ⎦ ⎡n⎤ + Nế Nếu n chẵ chẵn: x ⎢ ⎥ hoặ hoặc ⎣2⎦ * Mệnh đề 2.1 n
∑ x−x i =1
⎡n ⎤ x ⎢ + 1⎥ ⎣2 ⎦
({xn }) → min tại Med
i
Chứ ng ng minh + Xét tr ườ ườ ng ng hợ hợ p n chẵ chẵn
= Đặt Đặt M
n 2
Ta có: n
M
M
∑ x−x =∑ x−x +∑ x−x i =1
i
i =1
i
i =1
+i M
M
M
i =1
i =1
= ∑ ( x − xi + x M +i − x ) ≥ ∑ x M +i − xi M
= ∑ [( x M +1 − x M ) + (x M − xi )] i =1
M
M
i =1
i =1
({xi }) + ∑ xi − Med ({xi }) = ∑ x M +i − Med
22
n
({xi }) = ∑ xi − Med i =1
+ Nế Nếu n lẻ l ẻ:
({xi }) vào dãy. Theo tr Bổ sung thêm phầ phần tử Med ườ ườ ng ng hợ p n chẵ chẵn ta có: n
∑ x− x i =1
i
n
∑ x−x i =1
i
+ Med ({xi }) − Med ({xi }) → min tạ tại Med({xn}) tại Med({xn}) → min tạ
ỹ thuật lọc trung vị * K Giả Giả sử ta có ảnh I ngư ngưìng θ cửa sổ sổ W(P) và điểm ảnh P Khi đó k ỹ thu thuậật lọc trung vị vị phụ phụ thu thuộộc không gian bao gồ gồm các bướ bướ c cơ bản sau: + Bướ c 1: Tìm trung vị vị {I(q)| q ∈ W(P)} → Med (P) + Bướ c 2: Gán giá tr ị ( P ) ⎧ I ( P ) ⎩Med
I ( P )=⎨
I ( P ) − Med ( P ) ≤ θ Nguoclai
Ví dụ dụ: 1 2 3 2 4 16 2 1 I= 4 2 1 1 2 1 2 1 W(3 × 3); θ = 2 1 2 3 2 4 2 2 1 Ikq = 4 2 1 1 2 1 2 1 Giá tr ị 16, sau phép lọ lọc có giá tr ị 2, các giá tr ị còn lạ lại không thay đổi đổi giá tr ị.
23
2.2.4. Lọc trung bình * Định nghĩ a 2.2 (Trung bình) Cho dãy x1, x2…, xn khi đó trung bình củ của dãy ký hiệ hiệu AV({xn}) ddượ ddượ c định định nghĩ nghĩ a: a: 1 n ⎞ ⎛ ( { } ) AV xn = round ⎜ ∑ xi ⎟ n i =1 ⎠ ⎝
* Mệnh đề 2.2 n
∑ (x − x )
2
→ min tại AV ({xn })
i
i =1
Chứ ng ng minh:
( x) = Đặt: Đặt: φ
n
∑ (x − x )
2
i
i =1
Ta có:
( x) = 2 φ
n
∑ (x − x ) i =1
i
' φ ( x) = 0 n
⇔ ∑ ( x − xi ) = 0 i =1
1 ⇔x= n
n
∑x i =1
i
({xi }) = AV
Mặt khác, φ ( x) = 2n > 0 ''
({xi }) ⇒ φ → min tại x = AV ỹ thuật lọc trung bình K Giả Giả sử ta có ảnh I, điểm ảnh P, cử cửa sổ W(P) và ngưỡ ngưỡ ng ng θ. Khi đó k ỹ thuậật lọ thu lọc trung bình phụ phụ thu thuộộc không gian bao gồ gồm các bướ bướ c cơ cơ bản sau: + Bướ c 1: Tìm trung bình {I(q)| q ∈ W(P)} → AV(P)
24
+ Bướ c 2: Gán giá tr ị
( P ) ⎧ I ( P ) ⎩ AV
I ( P )=⎨
I ( P ) − AV ( P ) ≤ θ Nguoclai
Ví dụ dụ: 1 2 3 2 4 16 2 1 I= 4 2 1 1 2 1 2 1 W(3 × 3); θ = 2 1 2 3 2 4 3 2 1 Ikq = 4 2 1 1 2 1 2 1 Giá tr ị 16 sau phép lọ lọc trung bình có giá tr ị 3, các giá tr ị còn lạ lại giữ giữ nguyên sau phép lọ lọc.
2.2.5. Lọc trung bình theo k giá trị gần nhất Giả Giả sử ta có ảnh I, điểm ảnh P, cử cửa sổ W(P), ngưỡ ngưỡ ng ng θ và số k. Khi đó, lọ lọc trung bình theo k giá tr ị gần nhấ nhất bao gồ gồm các bướ bướ c sau: + Bướ c 1: Tìm K giá tr ị gần nhấ nhất {I(q) ⏐q ∈ W(p)} → {k ∼ giá tr ị gần I(P) nhấ nhất} + Bướ c 2: Tính trung bình {k ∼ giá tr ị gần I(P) nhấ nhất} → AVk (P) (P) + Bướ c 3: Gán giá tr ị ( P ) ⎧I ( P ) k ⎩ AV
I ( P )=⎨
I ( P ) − AV ( P ) ≤ θ k Nguoclai
Ví dụ dụ: 1 2 3 4 16 2 I= 4 2 1 2 1 2 W(3 × 3); θ = 2; k = 3
2 1 1 1
25
Ikq =
1 4 4 2
2 8 2 1
3 2 1 2
2 1 1 1
* Nhận xét: - Nếu k lớ n hơ n kích thướ thướ c cửa sổ thì k ỹ thu thuậật chính là k ỹ thu thuậật lọc trung bình - Nế Nếu k= 1 thì ảnh k ết quả quả không thay đổi đổi Chất lượ lượ ng ng củ của k ỹ thu thuậật phụ phụ thu thuộộc vào số số phân tử tử lựa chọ chọn k. ⇒ Chấ
2.3. CÁC PHÉP TOÁN HÌNH THÁI HỌC 2.3.1. Các phép toán hình thái cơ bản Hình thái là thuậ thuật ngữ ngữ chỉ chỉ sự nghiên cứ cứu về về cấu trúc hay hình họ học topo của đối đối tượ tượ ng ng trong ảnh. Phầ Phần lớ lớ n các phép toán củ của "Hình thái" đượ c định định nghĩ nghĩ a từ hai phép toán cơ cơ bản là phép "giãn nở nở " (Dilation) và phép "co" (Erosion). Các phép toán này đượ c định định nghĩ nghĩ a như nh ư sau: Giả Giả thi thiếết ta có đối đối tượ tượ ng ng X và phầ phần tử t ử cấu trúc (mẫ (mẫu) B trong không gian Euclide hai chiề chiều. Kí hiệ hiệu Bx là dị dịch chuyể chuyển củ của B tớ tớ i vị vị trí x. Định nghĩ a 2.3 (DILATION) Phép "giãn nở nở " củ c ủa X theo mẫ mẫu B là hợ hợ p củ của tấ tất cả cả các Bx vớ i x thuộ thuộc X. Ta có: X ⊕ B = U Bx x∈X
Định nghĩ a 2.4 (EROSION) Phép "co" củ của X theo B là tậ tập hợ p tất cả các điểm x sao cho Bx nằm trong X. Ta có: X B = {x : Bx ⊆ X} 0 x 0 x x⎞ ⎛ ⎜ ⎟ ⎜ x 0 x x 0⎟ ⎜ 0 x= x 0 0 ⎟ B = x Ví dụ dụ: Ta có tậ tập X như như sau: X ⎜ ⎟ ⎜0 x 0 x 0⎟ ⎜0 x x x 0⎟ ⎝ ⎠
26
0 ⎛ ⎜ ⎜x ⎜0 X⊕B= ⎜ ⎜0 ⎜0 ⎝
x x x x x
x x x x x
x x x x x
x⎞ ⎟ x⎟ 0⎟ ⎟ và X B = x⎟ x ⎟⎠
0 ⎛ ⎜ ⎜0 ⎜0 ⎜ ⎜0 ⎜0 ⎝
0 0 x 0 x
0 x 0 0 x
x 0 0 0 0
0⎞ ⎟ 0⎟ 0⎟ ⎟ 0⎟ 0 ⎟⎠
Đình nghĩ a 2.5 (OPEN) Phép toán mở mở (OPEN) củ của X theo cấ cấu trúc B là tậ tập hợ h ợ p các điểm củ c ủa ảnh X sau khi đã co và giãn nở nở liên liế liếp theo B. Ta có: OPEN(X,B) = (X B) ⊕ B Ví dụ dụ: Vớ Vớ i tậ tập X và B trong ví dụ dụ trên ta có 0 0 0 x x⎞ ⎛ ⎜ ⎟ ⎜0 0 x x 0⎟ ⎜ ⎟ OPEN(X,B) = (XB) ⊕ B = ⎜ 0 x x 0 0 ⎟ ⎜ ⎟ 0 0 0 0 0 ⎜ ⎟ ⎜0 x x x 0⎟ ⎝ ⎠ Định nghĩ a 2.6 (CLOSE) Phép toán đóng (CLOSE) củ của X theo cấ cấu trúc B là tậ tập hợ p các điểm của ảnh X sau khi đã giãn nở nở và co liên tiế tiếp theo B. Ta có: CLOSE(X,B) = (X ⊕ B) B Theo ví dụ dụ trên ta có: 0 x x x x⎞ ⎛ ⎜ ⎟ ⎜x x x x x⎟ ⎜ ⎟ CLOSE(X,B) = (X ⊕ B) B = ⎜ 0 x x 0 0 ⎟ ⎜ ⎟ ⎜0 x x x 0⎟ ⎜0 x x x 0⎟ ⎝ ⎠
2.3.2. Một số tính chất của phép toán hình thái * M n h đề 2.3 [Tính gia tăng]: ệnh ệ
⊆ X’ ⇒ (i) X ⊆ B' ⇒ (ii) B
X B ⊆ X’ B X ⊕ B ⊆ X’ ⊕ B X B ⊇ X B' X ⊕ B ⊆ X ⊕ B’
∀B ∀B ∀X ∀X 27
Chứ ng ng minh:
'⊕ B (i) X ⊕ B = U Bx ⊆ U Bx = X x∈X
X B = {x / Bx
x∈X '
⊆ X '} = X’ B } ⊆ {x / Bx ⊆ X
⊕ B' (ii) X ⊕ B = U Bx ⊆ U B' x = X x∈X
x∈X
Theo định định nghĩ nghĩ a: a:
} ⊆ {x / Bx X B’ = {x / B' x ⊆ X
}=XB. ⊆ X
*M n h đề 2.4 [Tính phân phối vớ i phép ệnh ệ
]: (i) X ⊕ (B ∪ B') = (X ⊕ B) ∪ (X ⊕ B') (ii) X (B ∪ B') = (X B) ∩ (X B') Chứ ng ng minh: (i) X ⊕ (B ∪ B’) = ( X ⊕ B) ∪ (X ⊕ B’) Ta có: B∪ B’ ⊇ B X ⊕ (B ∪ B’) ⊇ X ⊕ B (tính giaăng) t Tươ ng ng tự t ự: X ⊕ ( B ∪ B’) ⊇ X ⊕ B’ X ⊕ (B ∪ B’) ⊇ (X ⊕ B) ∪ (X ⊕ B’) (2.3) Mặt khác, ∀ y ∈ X ⊕ (B ∪ B’) ⇒ ∃x ∈ X sao cho y ∈ (B ∪ B’)x ⇒ y ∈ Bx ⇒ y∈X⊕B y ∈ B’x y ∈ X ⊕ B’ ⇒ y ∈ (X ⊕ B) ∪ (X ⊕ B’) (2.4) ⇒ X ⊕ (B ∪ B’) ⊆ (X ⊕B ) ∪ (X ⊕B’) Từ (2.3) và (2.4) ta có: X ⊕ (B ∪ B’) = (X ⊕ B) ∪ (X ⊕ B’) (ii) X (B ∪ B’) = (X B) ∩ (X B’) Ta có: B ∪ B’ ⊇ B X (B ∪ B’) ⊆ X B (tính ăng)gia t ⇒ Tươ ng ng tự tự : X (B ∪ B’) ⊆ X B’ X (B ∪ B’) ⊆ (X B) ∩ ( X B’) (2.5) ⇒
28
Mặt khác, ∀x ∈ (X B) ∩ (X B’) Suy ra, x ∈ X B ⇒ Bx ⊆ X x ∈ X B’ B’ x⊆X ⇒ ( B ∪ B’)x ⊆ X ⇒ x ∈ X (B ∪ B’) (2.6) ⇒ X (B ∪ B’) ⊇ (X B) ∩ (X B’) Từ (2.5) và (2.6) ta có: X (B ∪ B’) = (X B) ∩ (X B’). * Ý nghĩ a: a: Ta có thể thể phân tích các mẫ mẫu phứ phức tạp tr ở ở thành các mẫ mẫu đơ n giả giản thuậận tiệ thu tiện cho việ việc cài đặt. đặt. * M n h đề 2.5 [Tính phân phối vớ i phép ]: ệnh ệ (X ∩ Y) B = (X B) ∩ (Y B) Chứ ng ng minh: Ta có, X ∩ Y ⊆ X (X ∩ Y) B ⊆ X B ⇒ Tươ ng ng tự tự: (X ∩ Y) B ⊆ Y B (X ∩ Y) B ⊆ (X B) ∩ (Y B) (2.7) ⇒ Mặt khác, ∀x ∈ (X B) ∩ (Y B) ⇒ Bx ⊆ X Suy ra ∈ x XB x ∈ Y B x ⊆BY ⇒ Bx ⊆ X ∩ Y ⇒ x ∈ ( X ∩ Y) B ⇒ (X ∩ Y) B ⊇ (X B) ∩ (Y B) (2.8) Từ (2.7) và (2.8) ta có: (X ∩ Y) B = (X B) ∩ (Y B). [Tính k p] p] * M n h đề 2.6 ệnh ệ ết hợ (i) (X ⊕ B) ⊕ B' = X ⊕ (B ⊕ B') (ii) (X B) B' = X (B ⊕ B')
29
Chứ ng ng minh: (i) (X ⊕ B) ⊕ B' = X ⊕ (B' ⊕ B) Ta có, (X ⊕ B) ⊕ B' = ( U B x ) ⊕ B' x∈X
= U ( Bx ⊕ B ' ) = U ( B ⊕ B ' ) x x∈X
x∈X
= X ⊕ (B' ⊕ B) (i) (X B) B' = X (B ⊕ B') Tr ướ ướ c hế hết ta đi chứ chứng minh: Bx' ⊆ X B ⇔ ( B ' ⊕ B) x ⊆ X Thậ Thật vậ vậy, do Bx' ⊆ X B nên ∀y∈ Bx' ⇒ y∈X B
⇒ By ⊆ X ⇒ U B y ⊆ X y∈Bx'
⇒ ( B ' ⊕ B) x ⊆ X Mặt khác, ( B ' ⊕ B) x ⊆ X ⇔ ( Bx' ⊕ B) ⊆ X
⇔ U By ⊆ X y∈Bx'
⇒ ∀y∈ Bx' ta có By ⊆ X ⇒ hay ∀y∈ Bx' ta có y ∈ X B Do đó, Bx' ⊆ X B } B' Ta có, (X B) B' = {x / Bx ⊆ X
= {x/ Bx' ⊆ X B} = {x/ ( B ' ⊕ B) x ⊆ X} (do chứ chứng minh ở trên) = X (B ⊕ B') . i các cận OPEN và CLOSE] * nh nh lý 2.1 [X bị chặn bở Đị Giả Giả sử, X là mộ một đối đối tượ ng ng ảnh, B là mẫ mẫu, khi đó, X sẽ sẽ bị chặ chặn trên bở i tậ t ập CLOSE củ của X theo B và bị bị chặ chặn dướ d ướ i bở b ở i tậ t ập OPEN củ của X theo B. Tức là: (X ⊕ B) B ⊇ X ⊇ (X B) ⊕ B
30
Chứ ng ng minh: Ta có: ∀ x ∈ X ⇒ Bx ⊆ X ⊕ B
(Vì X ⊕ B = U Bx ) x∈ X
⇒ x ∈ (X ⊕ B) B (theođịnh định nghĩ nghĩ a phép co) ⇒ (X ⊕ B) B ⊇ X
(2.9)
Mặt khác,
∀ y ∈ (X B) ⊕ B, suy ra: ∃ x ∈ X B sao cho y ∈ Bx
(Vì (X B) ⊕ B = U Bx ) x∈X ΘB
⇒ Bx ⊆ X ⇒ y ∈ X Suy ra: X ⊇ (X B) ⊕ B
(2.10)
Từ (2.9) và (2.10) Ta có: (X ⊕ B) B ⊇ X ⊇ (X B) ⊕ B . *Hệ quả 2.1 [Tính bất biến] : (i) ((X ⊕ B) B) ⊕ B = X ⊕ B (ii) ((X B) ⊕ B) B = XB Chứ ng ng minh: (i) Thậ Thật vậ vậy, từ từ định định lý 2.1 ta có X ⊆ (X ⊕ B) Ө B chất gia tă tăng) (2.11) ⇒ X ⊕ B ⊆ ((X ⊕ B) B) ⊕ B (do tính chấ Mặt khác, cũ cũng từ từ định định lý 2.1 ta có (X B) ⊕ B ⊆ X ∀X Do đó, thay X bở bở i X ⊕ B ta có, ((X ⊕ B) B) ⊕ B ⊆ X ⊕ B (2.12) Từ (2.11) và (2.12) Ta có: ((X ⊕ B) B) ⊕ B = X ⊕ B (ii) Thậ Thật vậ vậy, từ từ định định lý 2.1 ta có (X B) ⊕ B ⊆ X chất gia tă tăng) (2.13) ⇒ ((X B) ⊕ B) B ⊆ XB (do tính chấ Mặt khác, cũ cũng từ từ định định lý 2.1 ta có X ⊆ (X ⊕ B) Ө B ∀X Do đó, thay X bở bở i X B ta có, XB ⊆ ((X B) ⊕ B) B (2.14) Từ (2.13) và (2.14) Ta có: ((X B) ⊕ B) B = XB (đ (đpcm).
31
Chươ Chươ ng ng 3:
BIÊN VÀ CÁC PHƯƠ NG NG PHÁP PHÁT HIỆN BIÊN 3.1. GIỚ I THIỆU Biên là vấ vấn đề quan tr ọng trong trích chọ chọn đặc đặc điểm nhằ nhằm tiế tiến tớ tớ i hiể hiểu ảnh. Cho đến đến nay chư chưa có định định nghĩ nghĩ a chính xác về về biên, trong mỗ mỗi ứng dụng ngườ ngườ i ta đưa đưa ra các độ đo khác nhau về về biên, mộ một trong các độ đo đó là độ đo về v ề sự thay đổi đổi đột đột ngộ ng ột về v ề cấp xám. Ví dụ dụ: Đối Đối vớ v ớ i ảnh đen tr ắng, một điểm đượ c gọi là điểm biên nế nếu nó là điểm đen có ít nhấ nhất một điểm tr ắng bên cạ cạnh. Tậ Tập hợ p các điểm biên tạ tạo nên biên hay đườ ng ng bao củ của đối đối tượ ng. ng. Xuấ Xuất phát từ từ cơ sở này ngườ ngườ i ta thườ thườ ng ng sử dụng hai phươ phươ ng ng pháp phát hiệ hiện biên cơ cơ bản:
Phát hiện biên trự c tiếp: Ph Phươ ươ ng ng pháp này làm nổ nổi biên dự dựa vào sự sự biế biến thiên mứ mức xám củ của ảnh. K ỹ thu thuậật chủ chủ yếu dùng để phát hiệ hiện biên ở đây là dự dựa vào sự sự biế biến đổi đổi cấp xám theo hướ hướ ng. ng. Cách tiế tiếp cận theo đạo đạo hàm bậ bậc nh n hất của ảnh dựa trên k ỹ thu thuậật Gradient, nế nếu lấy đạo đạo hàm bậ bậc hai của ảnh dự dựa trên biế biến đổi đổi gia ta có k ỹ thu thuậật Laplace. c ảnh Phát hiện biên gián tiếp: Nếu bằng cách nào đó ta phân đượ thành các vùng thì ranh giớ giớ i giữ giữa các vùng đó gọ g ọi là biên. K ỹ thu thuậật dò biên và phân vùng ảnh là hai bài toán đối đối ngẫ ngẫu nhau vì dò biên để thự thực hiệ hiện phân lớ p đối đối tượ ng ng mà khi đã phân lớ lớ p xong nghĩ nghĩ a là đã phân vùng đượ c ảnh và ngượ ngượ c lạ lại, khi đã phân vùng ảnh đã đượ c phân lớ lớ p thành các đối đối tượ tượ ng, ng, do đó có thể thể phát hiệ hiện đượ c biên. Phươ Phươ ng ng pháp phát hiệ hiện biên tr ực tiế tiếp tỏ tỏ ra khá hiệ hiệu quả qu ả và ít chị chịu ảnh hưở ng ng của nhiễ nhiễu, song nế nếu sự biế biến thiên độ sáng không đột đột ngộ ngột, phươ phươ ng ng pháp tỏ tỏ ra kém hiệ hiệu qu q uả, phươ ph ươ ng ng pháp phát hiệ hiện biên gián tiế tiếp tuy khó cài đặt, đặt, song lạ lại áp dụ dụng khá tố tốt trong tr ườ ườ ng ng hợ hợ p này.
3.2. CÁC PHƯƠ NG NG PHÁP PHÁT HIỆN BIÊN TR Ự ỰC TIẾP 3.2.1. K ỹ thuật phát hiện biên Gradient
32
Theo định định nghĩ nghĩ a, a, gradient là mộ một véctơ véctơ có các thành phầ phần bi b iểu th t hị tốc độ thay đổi đổi giá tr ị của điểm ảnh, ta có:
∂f ( x, y ) f ( x + dx, y) − f ( x, y ) = fx ≈ ∂x dx ∂f ( x, y ) f ( x, y + dy ) − f ( x, y ) = fy ≈ ∂y dy Trong đó, dx, dy là khoả khoảng cách (tính bằ bằng số điểm) theo hướ hướ ng ng x và y. * Nhận xét: Tuy ta nói là lấ lấy đạo đạo hàm như nhưng thự thực chấ chất chỉ chỉ là mô pháng và xấ xấp xỉ đạo đạo hàm bằ bằng các k ỹ thu thuậật nhân chậ chập (cuộ (cuộn theo mẫ mẫu) vì ảnh số s ố là tín hiệ hiệu r ờ ời r ạc nên đạo đạo hàm không tồ tồn tạ tại. Ví dụ dụ: Vớ Vớ i dx = dy = 1, ta có:
⎧ ∂f ≈ f (x + 1, y ) − f ( x, y ) ⎪⎪ ∂x ⎨ ∂f ⎪ ≈ f (x, y + 1) − f ( x, y ) ⎪⎩ ∂y Do đó, mặ mặt nạ nạ nhân chậ chập theo hướ hướ ng ng x là A= (− 1 1) − 1⎞ ⎛
và hướ hướ ng ng y là B= ⎜⎜ ⎟⎟ 1⎠ ⎝ Chẳ Chẳng hạ hạn: 0 0 I= 0 0 Ta có,
0 3 3 3
0 3 3 3
0 3 3 3
0 0 I⊗A= 3 3 0 * * 0 I ⊗ A + I ⊗ B= 3 3 *
0 0
*
0 0 *
0 0 0 *
0 0 0 *
0 * ;⊗I B= 0 * 0 * * * * * *
3 0 0 *
3 0 0 *
* * * *
33
ỹ thuật Prewitt 3.2.1.1. K K ỹ thu thuậật sử dụng 2 mặ mặt nạ nhậ nhập chậ chập xấp xỉ đạo đạo hàm theo 2 hướ hướ ng ng x và y là: -1 0 1 Hx = -1 0 0 1 -1 0 1 -1 -1 -1 Hy = 0 0 0 1 1 1 Các bướ bướ c tính toán củ của k ỹ thu thuậật Prewitt + Bướ c 1: Tính I ⊗ Hx và I ⊗ Hy + Bướ c 2: Tính I ⊗ Hx + I ⊗ Hy Ví dụ dụ: 0 0 0 0 0 0 5 5 5 5 0 0 5 5 5 5 0 0 I= 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0
I ⊗ Hx =
0 0 0 0 * *
15 0 -15 I ⊗ Hy = -15 * *
0 -10 -10 * 0 -15 -15 * 0 -10 -10 * 0 -5 -5 * * * * * * * * *
* * * * * *
15 0 -15 -15 * *
* * * * * *
10 0 -10 -10 * *
5 0 -5 -5 * *
* * * * * *
34
I ⊗ Hx + I ⊗ Hy =
15 0 -15 -15 * *
15 0 -15 -15 * *
0 -15 -20 -15 * *
-5 -15 -15 -10 * *
* * * * * *
* * * * * *
ỹ thuật Sobel 3.2.1.2. K Tươ ng ng tự như như k ỹ thu thuậật Prewitt k ỹ thu thuậật Sobel sử sử dụng 2 mặ mặt nạ nhân chậ chập theo 2 hướ hướ ng ng x, y là: -1 0 1 Hx = -2 0 0 2 -1 0 1 -1 -2 -1 Hy = 0 0 0 1 2 1 Các bướ bướ c tính toán tươ tươ ng ng tự tự Prewitt + Bướ c 1: Tính I ⊗ Hx và I ⊗ Hy + Bướ c 2: Tính I ⊗ Hx + I ⊗ Hy 3.2.1.3. K ỹ thuật la bàn K ỹ thu thuậật sử s ử dụng 8 mặ mặt nạ n ạ nhân chậ chập theo 8 hướ hướ ng ng 0 0, 45 0, 90 0, 1350, 1800, 2250, 2700, 3150 5 5 -3 5 5 5 H1 = 5 0 -3 H2 = -3 0 -3 -3 -3 -3 -3 -3 -3 -3 5 5 -3 -3 5 H3 = -3 0 5 H4 = -3 0 5 -3 -3 -3 -3 -3 5 -3 -3 -3 -3 -3 -3 H5 = -3 0 5 H6 = -3 0 -3 -3 5 5 5 5 5 -3 -3 -3 5 -3 -3 H7 = 5 0 -3 H8 = 5 0 -3 5 5 -3 5 -3 -3
35
Các bướ bướ c tính toán thuậ thuật toán La bàn + Bướ c 1: Tính I ⊗ Hi ; i = 1,8 + Bướ c 2:
8
∑ I ⊗ H i =1
i
3.2.2. K ỹ thuật phát hiện biên Laplace Các phươ phươ ng ng pháp đánh giá gradient ở trên làm việ việc khá tố tốt khi mà độ sáng thay đổi đổi rõ nét. Khi mứ mức xám thay đổi đổi chậ chậm, miề miền chuyể chuyển titiếếp tr ải r ộng, phươ phươ ng ng pháp cho hiệ hiệu quả quả hơ n đó là phươ phươ ng ng pháp sử sử dụng đạo đạo hàm bậc hai Laplace. Toán tử tử Laplace đượ c định định nghĩ nghĩ a như như sau: Ta có: 2 ∂ 2 f ∂ 2 f
∇ f =
+ ∂x 2 ∂y 2 ∂ 2 f ∂ ⎛ ∂f ⎞ ≈ ∂ ( f = ( x + 1, y) − f ( x, y ) ) ⎜ ⎟ ∂x 2 ∂x ⎝ ∂x ⎠ ∂x
≈ [ f ( x + 1, y ) − f ( x, y )] − [ f ( x, y ) − f ( x − 1, y )] ( x + 1, y ) − 2 f ( x, y ) + f ( x − 1, y ) ≈ f Tươ ng ng tự tự ,
⎞ ∂ ∂ 2 f ∂ ⎜⎛ ∂f ⎟ ≈ ( f = ( x, y + 1) − f ( x, y ) ) ∂y ⎟⎠ ∂y ∂y 2 ∂y ⎜⎝ ( x, y + 1) − f ( x, y )] − [ f ( x, y ) − f ( x, y − 1)] ≈ [ f ≈ f ( x, y + 1) − 2 f ( x, y ) + f ( x, y − 1) Vậy: ∇2 f= f(x+1,y) + f(x,y+1) - 4f(x,y) + f(x-1,y) + f(x,y-1) Dẫn tớ tớ ii::
0 1 0⎞ ⎛ ⎜ ⎟ H = ⎜1 − 4 1⎟ ⎜0 1 0⎟ ⎝ ⎠ Trong thự thực tế, ngườ ngườ i ta thườ thườ ng ng dùng nhiề nhiều kiể kiểu mặt nạ khác nhau để xấp xỉ r ờ ờ i r ạc đạo đạo hàm bậ bậc hai Laplace. Dướ Dướ i đây là ba kiể kiểu mặt nạ thườ thườ ng ng dùng: 36
0 −1 0 ⎞ − 1 − 1 − 1⎞ 1 −2 1 ⎞ ⎛ ⎛ ⎛ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ H1 = ⎜ − 1 4 − 1⎟ H 2 = ⎜ − 1 8 − 1⎟ H 3 = ⎜ − 2 4 − 2 ⎟ ⎜ 0 −1 0 ⎟ ⎜ − 1 − 1 − 1⎟ ⎜ 1 −2 1 ⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ VD: I=
0 5 5 5 0 0
0 5 5 5 0 0
0 5 5 5 0 0
0 5 5 5 0 0
0 0 0 0 0 0
0 0 0 0 0 0
3.3. PHÁT HIỆN BIÊN GIÁN TI ẾP 3.3.1 Một số khái niệm cơ bản *Ảnh và điểm ảnh Ảnh số là một mảng số thự thực 2 chiề chiều (Iij) có kích thướ thướ c (M×N), trong đó mỗi ph p hần tử Iij(i = 1,...,M; j = 1,...,N) biể biểu thị thị mức xám củ của ảnh tại (i,j) tươ ng ng ứng. Ảnh đượ c gọi là ảnh nhị nhị phân nế nếu các giá tr ị Iij chỉ chỉ nhậ nhận giá tr ị0 hoặ hoặc 1. Ở đây ta chỉ chỉ xét tớ tớ i ảnh nhị nhị phân vì ảnh bất k ỳ có thể thể đưa đưa về dạng nhị nhị phân bằ bằng k ỹ thu thuậật phân ngưỡ ngưỡ ng. ng. Ta ký hiệ hiệu ℑ là tập các điểm vùng (điểm đen) và ℑ là tậ t ập các điểm nề nền (đ (điểm tr ắng). *Các điểm 4 và 8-láng gi ềng Giả Giả sử (i,j) là mộ một điểm ảnh, các điểm 4-láng giề giềng là các điểm k ề trên, dướ dướ i,i, trái, phả phải củ của (i,j): N4(i,j) = {(i’,j’) : |i-i’|+|j-j’| = 1}, và nhữ những điểm 8-láng giề giềng gồ gồm: N8(i,j) = {(i’,j’) : max(|i-i’|,|j-j’|) =1}. Trong Hình 1.2 biể biểu diễ diễn ma tr ận 8 láng giề giềng k ề nhau, các điểm P 0, P2, P4, P6 là các 4-láng giề giềng củ của điểm P, còn các điểm P0, P1, P2, P3, P4, P5, P6, P7 là các 8-láng giề giềng củ của P.
37
P 3
P 2
P 1
P 4
P
P 0
P 5
P 6
P 7
Hình 1.3. Ma ậtrn 8-láng gi ềng k ề nhau
*Đối tượ ng ng ảnh Hai điểm P s, P e ∈ E, E ⊆ ℑ hoặ hoặc ℑ đượ c gọ g ọi là 8-liên thông (hoặ (hoặc 4ng ng đ i i liên thông) trong E nế nếu tồn tại tập các điểm đượ c gọi là đườ (io,jo)...(in,jn) sao cho (io,jo)= Ps, (in,jn)= Pe, (ir ,j,jr ) ∈ E và (ir ,j,jr ) là 8-láng giề giềng (hoặ (hoặc 4-láng giề giềng tươ tươ ng ng ứng) củ của (ir-1,jr-1) vớ vớ i r = 1,2,...,n hệ k-liên thông trong E (k=4,8) là mộ một quan hệ hệ phả phản xạ, Nhận xét: Quan hệ đối đối xứng và bắ bắc cầu. Bở i vậy đó là mộ một quan hệ hệ tươ ng ng đươ ng. ng. Mỗ Mỗi lớ p tươ ng ng đươ ng ng đượ c gọ gọi là mộ một thành phầ phần k-liên thông củ của ảnh. Về Về sau ta sẽ sẽ gọi mỗ mỗi thành phầ phần k-liên thông củ của ảnh là mộ một đối đối tượ tượ ng ng ảnh.
3.3.2. Chu tuyến của một đối tượ ng ng ảnh Định nghĩ a 3.1: [Chu tuyến] Chu tuyế tuyến của một đối đối tượ ng ng ảnh là dãy các điểm của đối đối tượ ng ng ảnh P1,…,Pn sao cho Pi và P i+1 là các 8-láng giề giềng củ của nhau (i=1,...,n-1) và P1 là 8-láng giề giềng củ của Pn, ∀i ∃Q không thuộ thuộc đối đối tượ tượ ng ng ảnh và Q là 4-láng giề giềng của Pi (hay nói cách khác ∀i thì Pi là biên 4). Kí hiệ hiệu
. Tổng các khoả khoảng cách giữ giữa hai điểm k ế titiếếp củ của chu tuyế tuyến là độ dài củ của chu tuyế tuyến và kí hiệ hiệu Len(C) và hướ hướ ng ng PiPi+1 là hướ h ướ ng ng chẵ chẵn nếu Pi và P i+1 là các 4 – láng giề giềng (tr ườ ườ ng ng hợ hợ p còn lạ lại thì PiPi+1 là hướ hướ ng ng lẻ lẻ). Hình 3.1 dướ dướ i đây biể biểu diễ diễn chu tuyế tuyến củ của ảnh, trong đó, P là điểm khở khở i đầu đầu chu tuyế tuyến. P
Hình 3.1. Ví dụ về chu tuyến của đối tượ ng ng ảnh
38
Định nghĩ a 3.2 [Chu tuyến đối ngẫu] Hai chu tuyế tuyến C= và C⊥= đượ c gọ gọi là đối đối ngẫ ngẫu của nhau nế nếu và chỉ chỉ nếu ∀i ∃j sao cho: (i) Pi và Qj là 4-láng giề giềng củ của nhau. (ii)Các (ii) Các điểm Pi là vùng thì Qj là nề nền và ngượ ngượ c lạ lại. Định nghĩ a 3.3 [Chu tuyến ngoài] Chu tuyế tuyến C đượ c gọ gọi là chu tuyế tuyến ngoài (Hình 3.2a) nế nếu và chỉ chỉ nếu (i) Chu tuyế tuyến đối đối ngẫ ngẫu C⊥ là chu tuyế tuyến củ của các điểm nề nền (ii)Độ (ii) Độ dài củ của C nhỏ nhỏ hơ n độ dài C⊥ Định nghĩ a 3.4 [Chu tuyến trong] Chu tuyế tuyến C đượ c gọ gọi là chu tuyế tuyến trong (Hình 3.2b) nế nếu và chỉ chỉ nếu: (i) Chu tuyế tuyến đối đối ngẫ ngẫu C⊥ là chu tuyế tuyến củ của các điểm nề nền (ii)Độ (ii) Độ dài củ của C lớ lớ n hơ hơ n độ dài C⊥ Chu tuyÕn C
⊥ Chu tuyÕn C
a) Chu tuyến ngoài
⊥ Chu tuyÕn C
Chu tuyÕn C
b) Chu tuyến trong
Hình 3.2. Chu tuy ến trong, chu tuy ến ngoài
a 3.5 [Điểm trong và điểm ngoài chu tuyến] Định nghĩ Giả Giả sử C= là chu tuyế tuyến củ c ủa mộ m ột đối đối tượ t ượ ng ng ảnh và P là mộ một điểm ảnh. Khi đó: (i) Nếu nử nửa đườ ng ng thẳ thẳng xuấ xuất phát từ từ P sẽ sẽ cắt chu tuyế tuyến C tạ tại số số lẻ lần, thì P đượ c gọ gọi là điểm trong chu tuyế tuyến C và kí hiệ hiệu in(P,C) (ii)N (ii) Nếu P∉C và P không phả phải là điểm trong củ của C, thì P đượ c gọi là điểm ngoài chu tuyế tuyến C và kí hiệ hiệu out(P,C). Bổ đề 3.1 [Chu tuyến đối ngẫu] Giả Giả sử E ⊆ ℑ là mộ một đối đối tượ tượ ng ng ảnh và C= < P1P2..Pn> là chu tuyế tuyến củ c ủa ⊥ E, C = là chu tuyế tuyến đối đối ngẫ ngẫu tươ tươ ng ng ứng. Khi đó: (i) Nếu C là chu tuyế tuyến trong thì in(Qi,C) ∀i (i=1,....,m) 39
(ii)N (ii) Nếu C là chu tuyế tuyến ngoài thì in(Pi,C⊥) ∀i (i=1,...,n) Bổ đề 3.2 [Phần trong/ngoài của chu tuyến] Giả Giả sử E ⊆ ℑ là mộ một đối đối tượ tượ ng ng ảnh và C là chu tuyế tuyến củ của E. Khi đó: (i) Nếu C là chu tuyế tuyến ngoài thì ∀x ∈ E sao cho x∉C, ta có in(x,C) (ii)N (ii) Nếu C là chu tuyế tuyến trong thì ∀x ∈ E sao cho x∉C, ta có out(x,C) Định lý 3.1 [Tính duy nh ất của chu tuyến ngoài] Giả Giả sử E ⊆ ℑ là một đối đối tượ ng ng ảnh và CE là chu tuyế tuyến ngoài củ của E. Khi đó CE là duy nhấ nhất.
3.3.3. Thuật toán dò biên tổng quát Biể Biểu diễ diễn đối đối tượ ng ng ảnh theo chu tuyế tuyến thườ thườ ng ng dựa trên các k ỹ thu thuậật dò biên. Có hai k ỹ thu thuậật dò biên cơ cơ bản. K ỹ thu thuậật thứ th ứ nhấ nhất xét ảnh biên thu đượ c từ từ ảnh vùng sau mộ một lầ lần duyệ duyệt như như một đồ thị thị, sau đó áp dụ dụng các thuậ thuật toán duyệ duyệt cạ cạnh đồ thị thị. K ỹ thu thuậật thứ thứ hai dự dựa trên ảnh vùng, k ết hợ hợ p đồng đồng thờ thờ i quá trình dò biên và tách biên. Ở đây ta quan tâm cách tiế tiếp cậ cận thứ thứ hai. Tr ướ ướ c hế hết, giả giả sử ảnh đượ c xét chỉ chỉ bao gồ gồm mộ một vùng ảnh 8-liên thông ℑ, đượ c bao bọ bọc bở b ở i mộ một vành đai các điểm nề nền. Dễ D ễ thấ thấy ℑ là mộ một vùng 4liên thông chỉ chỉ là mộ một tr ườ ườ ng ng riêng củ của tr ườ ườ ng ng hợ hợ p trên. Về cơ bản, các thuậ thuật toán dò biên trên mộ một vùng đều đều bao gồ gồm các bướ c sau: • Xác định định điểm biên xuấ xuất phát • Dự báo và xác định định điểm biên tiế tiếp theo • Lặp bướ bướ c 2 cho đến đến khi gặ gặp điểm xuấ xuất phát Do xuấ xuất phát từ từ nhữ những tiêu chuẩ chuẩn và định định nghĩ nghĩ a khác nhau về về điểm biên, và quan hệ hệ liên thông, các thuậ thuật toán dò biên cho ta các đườ ng ng biên mang các sắ sắc thái r ất khác nhau. K ết quả quả tác động động củ của toán tử tử dò biên lên mộ một điểm biên r i là điểm biên r giềng củ của r thườ ng ng các toán tử tử này đượ c xây dự dựng như như i+1 i+1 (8-láng giề i). Thông thườ một hàm đại đại số Boolean trên các 8-láng giề giềng của r dựng i. Mỗi cách xây dự các toán tử tử đều đều phụ ph ụ thu thuộộc vào định định nghĩ nghĩ a quan hệ hệ liên thông và điểm biên. Do đó sẽ gây khó khă khăn cho việ việc khả khảo sát các tính chấ chất của đườ ng ng biên. Ngoài ra, vì mỗ mỗi bướ bướ c dò biên đều đều phả phải kiể kiểm tra tấ tất cả cả các 8-láng giề giềng củ c ủa mỗi điểm nên thuậ thuật toán thườ thườ ng ng kém hiệ hiệu quả quả. Để khắ khắc phụ phục các hạ hạn chế chế trên, thay vì sử sử dụng mộ một điểm biên ta sử sử dụng cặ cặp điểm biên (mộ (một thuộ thuộc ℑ, một thuộ thuộc ℑ ), các cặ cặp điểm này tạ tạo nên tậ tập nền vùng, kí hiệ hiệu là NV và phân tích toán tử tử dò biên thành 2 bướ bướ c: c:
40
định cặ cặp điểm nề nền vùng tiế tiếp theo. • Xác định chọn điểm biên • Lựa chọ Trong đó bướ c thứ thứ nhấ nhất thự thực hiệ hiện chứ chức năng của một ánh xạ xạ trên tậ tập NV lên NV và bướ bướ c thứ thứ hai thự thực hiệ hiện chứ chức nă năng chọ chọn điểm biên. Thuật toán dò biên t ổng quát định cặ cặp nề nền-vùng xuấ xuất phát Bướ c 1: Xác định Bướ c 2: Xác định định cặ cặp nề nền-vùng tiế tiếp theo Bướ c 3: Lự Lựa chọ chọn điểm biên vùng Nếu gặp lại cặp xuấ xuất phát thì dừ dừng, nế nếu không quay lạ lại Bướ c 4: Nế bướ c 2. Việ Việc xác định định cặp nền-vùng xuấ xuất phát đượ c thự thực hiệ hiện bằng cách duyệ duyệt ảnh lầ lần lượ lượ t từ từ trên xuố xuống dướ dướ i và từ từ trái qua phả phải r ồi kiể kiểm tra điều kiệ kiện lự lựa chọ chọn cặ cặp nề nền-vùng. Do việ việc chọ chọn điểm biên chỉ chỉ mang tính chấ chất quy ướ c, c, nên ta gọ gọi ánh xạ xạ xác định định cặ cặp nề nền-vùng tiế tiếp theo là toán tử tử dò biên. Định nghĩ a 3.6 [Toán tử dò biên] Giả Giả sử T là mộ một ánh xạ xạ như như sau: T: NV → NV (b,r) a (b’,r’) Gọi T là mộ một toán tử tử dò biên cơ cơ sở nếu nó thoả thoả mãn điều kiệ ki ện: b’,r’ là các 8-láng giề giềng củ của r. Giả Giả sử (b,r) ∈ NV; gọ gọi K(b,r) là hàm chọ chọn điểm biên. Biên củ của một dạng ℑ có thể thể định định nghĩ nghĩ a theo mộ một trong ba cách: những điểm thuộ thuộc ℑ có mặ mặt trên NV, tứ tức là K(b,r)= r • Tập nhữ
• Tập nhữ những điểm thuộ thuộc ℑ có trên NV, tứ tức là K(b,r)= b • Tập nhữ nh ững điểm ảo nằ n ằm giữ giữa cặ cặp nề n ền-vùng, tứ tức là K(b,r) là nhữ những điểm nằ nằm giữ giữa hai điểm b và r. Cách định định nghĩ nghĩ a thứ thứ ba tươ ng ng ứng mỗi cặp nền-vùng vớ vớ i mộ t đ i ể m biên. Còn đối đối vớ i cách định định nghĩ nghĩ a thứ thứ nhấ nhất và thứ thứ hai mộ một số cặp nềnvùng có thể thể có chung mộ một điểm biên. Bở Bở i vậy, quá trình chọ chọn điểm biên đượ c thự th ực hiệ hi ện như nh ư sau: i:= 1; (bi,r i):= (bo,r o); While K(bi,r i)<>K(bn,r n) and i≤8 do Begin (bi+1,r i+1 i+1)= T(bi,r i); i:= i+1; End; Điều kiện dừ ng ng Cặp nề nền-vùng thứ thứ n trùng vớ vớ i cặ cặp nề nền vùng xuấ xuất phát: (bn,r n)= (bo,r o) 41
* Xác định cặp nền – vùng xuất phát Cặp nề nền vùng xuấ xuất phát đượ c xác định định bằ bằng cách duyệ duyệt ảnh lầ lần lượ lượ t từ từ trên xuố xuống dướ i và từ từ trái sang phả phải điểm đem đầu đầu tiên gặ gặp đượ c cùng vớ vớ i điểm tr ắng tr ướ ướ c đó (theo hướ hướ ng ng 4) để tạo nên cặ cặp nề nền vùng xuấ xuất phát. * Xác định cặp nền vùng tiếp theo Đầu Đầu vào: pt, dir Ví dụ dụ: (3, 2) 4 Point orient []= {(1,0);(1;-1);(0;-1);(-1;-1);(-1;0);(-1,1);(0,1);(1,1) }; //Hàm tìm hướ hướ ng ng có điểm đen gầ gần nhấ nhất BYTE GextNextDir(POINT pt, BYTE dir) { BYTE pdir= (dir + 7)%8; do{ if(getpixel(pt. x+orient [pdir ]. x,pt.y+orient [pdir ]. y))==BLACK) return pdir; pdir = (pdir + 7) %8; }while(pdir ! = dir); return. ERR; //Đ //Điểm cô lậ l ập } //Gán giá tr ị cho bướ bướ c tiế tiếp theo pdir = GetNextDir(pt, dir); if(pdir==ERR) //Kiể //Kiểm tra có là điểm cô lậ lập không? return. ERR; //Đ //Điểm cô lậ l ập pt. x = pt. x + orient [pdir ]. x; ]. y ; pt. y = pt. y + orient [pdir Để tính giá tr ị cho hướ hướ ng ng tiế tiếp theo ta lậ lập bả b ảng dự d ựa trên giá tr ị pdir đã tính đượ c tr ướ ướ c đó theo các khả khả năng có thể thể xảy ra:
42
pdir Đ pdir Điểm tr ắng tr ướ ướ c đó Tr ắng so vớ vớ i đen mớ mớ i 0 1 2 1 2 4 2 3 4 3 4 6 4 5 6 5 6 0 6 7 0 7 0 2 ⇒ Do đó công thứ thức để tính hướ hướ ng ng tiế tiếp theo sẽ sẽ là : dir= ((pdir+3)/ 2 * 2)%8 ;
43
Chươ Chươ ng ng 4:
XƯƠ NG NG VÀ CÁC K NG NG Ỹ THUẬT TÌM XƯƠ 4.1. GIỚ I THIỆU Xươ ng ng đượ c coi như như hình dạ dạng cơ bản của một đối đối tượ ng, ng, vớ vớ i số ít các điểm ảnh cơ cơ bản. Ta có thể thể lấy đượ c các thông tin về về hình dạ dạng nguyên bản củ của mộ một đối đối tượ tượ ng ng thông qua xươ xươ ng. ng. Một định định nghĩ nghĩ a xúc tích về về xươ ng ng dựa trên tính continuum (tươ (tươ ng ng tự như như hiệ hiện tượ ng ng cháy đồng đồng cỏ) đượ c đưa đưa ra bở bở i Blum (1976) như như sau: Giả Giả thiếết r thi ằng đối đối tượ t ượ ng ng là đồng đồng nhấ nhất đượ c phủ ph ủ bở i cỏ c ỏ khô và sau đó dự d ựng lên một vòng biên lử lửa. Xươ X ươ ng ng đượ c định định nghĩ nghĩ a như như nơ i gặ gặp củ của các vệ vệt lử lửa và tại đó chúng đượ c dậ dập tắ tắt.
a) Ảnh gố gốc
b) Ảnh xươ xươ ng ng ng ng Hình 4.1. Ví dụ về ảnh và xươ
K ỹ thu thuậật tìm xươ xươ ng ng luôn là chủ chủ đề nghiên cứ cứu trong xử xử lý ảnh nhữ những năm gần đây. Mặ Mặc dù có nhữ những nỗ lực cho việ việc phát triể triển các thuậật toán tìm xươ thu xươ ng, ng, như nhưng các phươ phươ ng ng pháp đượ c đưa đưa ra đều đều bị mất mát thông tin. Có thể thể chia thành hai loạ loại thuậ thuật toán tìm xươ xươ ng ng cơ c ơ bản: thuật toán tìm xươ xươ ng ng dự dựa trên làm mả mảnh • Các thuậ thuật toán tìm xươ xươ ng ng không dự dựa trên làm mả mảnh • Các thuậ
4.2. TÌM XƯƠ NG NG DỰ A TRÊN LÀM M ẢNH 4.2.1. Sơ lượ c về thuật toán làm mảnh Thuậ Thuật toán làm mả mảnh ảnh số số nhị nhị phân là mộ một trong các thuậ thuật toán quan tr ọng trong xử xử lý ảnh và nhậ nhận dạng. Xươ Xươ ng ng chứ chứa nh n hững thông tin bấ bất bi b iến về cấu trúc củ của ảnh, giúp cho quá trình nhậ nhận dạ dạng hoặ hoặc vectơ vectơ hoá sau này. 44
Thuậ Thuật toán làm mả mảnh là quá trình lặ lặp duyệ duyệt và kiể kiểm tra tấ tất cả cả các điểm thuộộc đối thu đối tượ ng. ng. Trong mỗ mỗi lần lặp tất cả các điểm của đối đối tượ ng ng sẽ đượ c kiể kiểm tra: nế nếu nh n hư chúng thoả thoả mãn điều ki k iện xoá nào đó tuỳ tu ỳ thu thuộộc vào mỗ mỗi thuậật toán thì nó sẽ thu sẽ bị xoá đi. Quá trình cứ cứ lặp lại cho đến đến khi không còn điểm biên nào đượ c xoá. Đối Đối tượ tượ ng ng đượ c bóc dầ dần lớ lớ p biên cho đến đến khi nào bị thu mả mảnh lạ lại chỉ chỉ còn các điểm biên. Các thuậ thuật toán làm mả mảnh đượ c phân loạ loại dựa trên phươ phươ ng ng pháp xử xử lý các điểm là thuậ thuật toán làm mả mảnh song song và thuậ thuật toán làm mả mảnh tuầ tuần tự tự. Thuậ Thuật toán làm mả mảnh song song, là thuậ thuật toán mà trong đó các điểm đượ c xử lý theo phươ phươ ng ng pháp song song, tứ tức là đượ c xử lý cùng mộ một lúc. Giá tr ị của mỗ mỗi điểm sau mộ một lầ l ần lặ l ặp chỉ ch ỉ phụ phụ thu thuộộc vào giá tr ị của các láng giề giềng bên cạ cạnh (thườ (thườ ng ng là 8-láng giề giềng) mà giá tr ị của các điểm này đã đượ c xác định định trong lầ lần lặp tr ướ ướ c đó. Trong máy có nhiề nhiều bộ b ộ vi xử lý mỗ m ỗi vi xử lý sẽ xử lý một vùng củ của đối đối tượ ng, ng, nó có quyề quyền đọc đọc từ các điểm ở vùng khác như nhưng chỉ chỉ đượ c ghi trên vùng củ của nó xử xử lý. Trong thuậ thuật toán làm mả mảnh tuầ tuần tự các điểm thuộ thuộc đối đối tượ t ượ ng ng sẽ đượ c kiể kiểm tra theo mộ một thứ thứ tự nào đó (chẳ (chẳng hạn các điểm đượ c xét từ từ trái qua phả phải, từ trên xuố xuống dướ i). i). Giá tr ị của điểm sau mỗ mỗi lần lặp không nhữ những phụ phụ thu thuộộc vào giá tr ị của các láng giề giềng bên cạ cạnh mà còn phụ phụ thu thuộộc vào các điểm đã đượ c xét tr ướ ướ c đó trong chính lầ lần lặ lặp đang xét. Chấ Chất lượ ng ng của thuậ thuật toán làm mả mảnh đượ c đánh giá theo các tiêu chuẩ chuẩn đượ c liliệệt kê dướ dướ i đây như nhưng không nhấ nhất thiế thiết phả phải thoả thoả mãn đồng đồng thờ thờ i tấ tất cả cả các tiêu chuẩ chuẩn. của đối đối tượ tượ ng ng và phầ phần bù củ của đối đối tượ tượ ng ng • Bảo toàn tính liên thông củ ng ng hợ hợ p giữ giữa xươ xươ ng ng và cấ cấu trúc củ của ảnh đối đối tượ tượ ng ng • Sự tươ phần liên thông • Bảo toàn các thành phầ cụt • Bảo toàn các điểm cụ ng ng chỉ chỉ gồm các điểm biên, càng mả mảnh càng tố tốt • Xươ vững đối đối vớ vớ i nhiễ nhiễu • Bền vữ ng ng cho phép khôi phụ phục ảnh ban đầu đầu củ của đối đối tượ tượ ng ng • Xươ • Xươ ng ng thu đượ c ở chính giữ giữa đườ ng ng nét củ của đối đối tượ ng ng đượ c làm mả mảnh ng ng nhậ nhận đượ c bấ bất biế biến vớ vớ i phép quay. • Xươ
45
4.2.2. Một số thuật toán làm mảnh Trong phầ phần này điểm qua mộ một số số đặc đặc điểm, ưu và khuyế khuyết điểm củ của các thuậật toán đã đượ thu c nghiên cứ cứu. 1o. Thuậ Thuật toán làm mả mảnh cổ cổ điển là thuậ thuật toán song song, tạ tạo ra xươ xươ ng ng 8 liên thông, tuy nhiên nó r ất chậ chậm, gây đứt đứt nét, xoá hoàn toàn một số số cấu hình nhỏ nhỏ. 2o. Thuậ Thuật toán làm mả mảnh của Toumazet bả bảo toàn tấ tất cả các điểm cụt không gây đứt đứt nét đối đối tượ tượ ng. ng. Tuy nhiên, thuậ thuật toán có nhượ nhượ c điểm là r ất chậ chậm, r ất nhạ nhạy cảm vớ i nhiễ nhiễu, xươ ng ng chỉ chỉ là 4-liên thông và không làm mả mảnh đượ c vớ vớ i mộ một số số cấu hình phứ phức tạ tạp 3o. Thuậ Thuật toán làm mả mảnh của Y.Xia dự dựa trên đườ ng ng biên củ của đối đối tượ ng, ng, có thể thể cài đặt đặt theo cả cả phươ phươ ng ng pháp song song và tuầ tuần tự. Tốc độ của thuậ thuật toán r ất nhanh. Nó có nhượ nhượ c điểm là gây đứt đứt nét, xươ ng ng tạ tạo ra là xươ xươ ng ng giả giả (có độ dày là 2 phầ phần tử tử ảnh). 4o. Thuậ Thuật toán làm mả mảnh củ của N.J.Naccache và R.Shinghal. Thuậ Thuật toán có ưu điểm là nhanh, xươ xươ ng ng tạ tạo ra có khả khả năng khôi phụ phục ảnh ban đầu đầu của đối đối tượ ng. ng. Nhượ Nhượ c điểm chính củ của thuậ thuật toán là r ất nhạ nhạy vớ i nhiễ nhiễu, xươ xươ ng ng nhậ nhận đượ c phả phản ánh cấ cấu trúc củ của đối đối tượ tượ ng ng thấ thấp. 5o. Thuậ Thuật toán làm mả mảnh của H.E.Lu P.S.P Wang tươ tươ ng ng đối đối nhanh, giữ giữ đượ c tính liên thông củ của ảnh, như nhưng lại có nhượ nhượ c điểm là xươ ng ng tạo ra là xươ xươ ng ng 4-liên thông và xoá mấ mất một số cấu hình nhỏ nhỏ. 6o. Thuậ Thuật toán làm mả mảnh của P.S.P Wang và Y.Y.Zhang dự dựa trên đườ ng ng biên củ của đối đối tượ ng, ng, có thể thể cài đặt đặt theo phươ phươ ng ng pháp song song hoặ hoặc tuầ tuần tự, xươ ng ng là 8-liên thông, ít chị chịu ảnh hưở ng ng của nhiễễu. Nhượ nhi Nhượ c điểm chính củ của thuậ thuật toán là tố tốc độ chậ chậm. 7o. Thuậ Thuật toán làm mả mảnh song song thuầ thuần tuý nhanh nhấ nhất trong các thuậật toán trên, bả thu bảo toàn tính liên thông, ít chị chịu ảnh hưở ng ng của nhiễễu. Nhượ nhi Nhượ c điểm là xoá hoàn toàn mộ một số cấu hình nhỏ nhỏ, xươ ng ng tạo ra là xươ xươ ng ng 4-liên thông.
4.3. TÌM XƯƠ NG NG KHÔNG DỰ A TRÊN LÀM MẢNH Để tách đượ c xươ xươ ng ng củ của đối đối tượ tượ ng ng có thể thể sử dụng đườ ng ng biên củ của đối đối tượ ng. ng. Vớ Vớ i điểm p bất k ỳ trên đối đối tượ ng, ng, ta bao nó bở bở i một đườ ng ng biên. Nếu như như có nhiề nhiều điểm biên có cùng khoả khoảng cách ngắ ngắn nhấ nhất tớ tớ i p thì p nằ nằm trên tr ục trung vị vị. Tập tất cả các điểm như như vậy lập thành tr ục trung vị vị hay xươ ng ng của đối đối tượ ng. ng. Việ Việc xác định định xươ ng ng đượ c titiếến hành thông qua hai bướ bướ c: c: 46
• •
khoảng cách từ từ mỗi điểm ảnh của đối đối tượ t ượ ng ng đến đến Bướ c th ứ nhất, tính khoả điểm biên gầ gần nhấ nh ất. Như Như vậy cầ cần phả ph ải tính toán khoả khoảng cách tớ tớ i tấ tất cả cả các điểm biên củ của ảnh. Bướ c thứ hai, khoả khoảng cách ảnh đã đượ c tính toán và các điểm ảnh có giá tr ị lớ n nhấ nhất đượ c xem là nằ nằm trên xươ xươ ng ng củ của đối đối tượ tượ ng. ng.
4.3.1. Khái quát về lượ c đồ Voronoi Lượ c đồ Voronoi là mộ một công cụ cụ hiệ hiệu quả quả trong hình họ học tính toán. Cho hai điểm P i, P j là hai phầ phần tử t ử của tậ t ập Ω gồm n điểm trong mặ mặt phẳ ph ẳng. Tập các điểm trong mặ mặt phẳ phẳng gần Pi hơ n Pj là nửa mặt phẳ phẳng H(Pi, Pj) chứ chứa điểm P i và bị giớ giớ i hạ h ạn bở i đườ ng ng trung tr ực củ c ủa đoạn thẳ thẳng PiPj. Do Do đó, tập các điểm gầ g ần P i hơ n bấ b ất k ỳ điểm P j nào có thể thể thu đượ c bằ b ằng cách giao n-1 các nử nửa mặ mặt phẳ ph ẳng H(Pi, Pj): V(Pi) = ∩ H(Pi, Pj) i≠j (i= 1,...,n) (4.1) Định nghĩ đồ Voronoi] a 4.1 [Đa giác/Sơ Sơ đồ Voronoi củ của Ω là hợ hợ p củ của tấ tất cả cả các V(Pi) Vor(Ω) = ∪ V(Pi) Pi∈Ω (là mộ một đa giác) (4.2) a 4.2 [Đa giác Voronoi tổng quát] Định nghĩ Cho tậ tập các điểm Ω, đa giác Voronoi củ của tậ t ập con U củ của Ω đượ c định định nghĩ nghĩ a như như sau: V(U) = {P| ∃v ∈ U, ∀w ∈ Ω \ U : d(P,v) < d(P,w)} = ∪ V(Pi) Pi ∈ U (4.3)
4.3.2. Trục trung vị Voronoi rờ i rạc Định nghĩ a 4.3 [Bản đồ khoảng cách - Distance Map] Cho đối đối tượ ng ng S, đối đối vớ i mỗi (x, y)∈S, ta tính giá tr ị khoả khoảng cách map(x, y) vớ vớ i hàm khoả khoảng cách d(.,.) như như sau: ∀(x, y)∈S: map(x, y) = min d[(x, y), (xi, yi)] (4.4) i điểm biên củ trong đó (xi, yi) ∈ B(S) - tậ tập các của S Tập tấ tất cả cả các map(x, y), kí hiệ hiệu là DM(S), đượ c gọ gọi là bả bản đồ khoả khoảng cách củ của S. khoảng cách d(.,.) là khoả khoảng cách Euclide, thì phươ phươ ng ng Chú ý: Nếu hàm khoả trình (4.4) chính là khoả khoảng cách ngắ ngắn nhấ nhất từ từ một điểm bên trong đối đối tượ tượ ng ng tớ i biên. Do đó, bản đồ khoả khoảng cách đượ c gọi là bả bản đồ khoả khoảng cách Euclide EDM(S) củ của S. Định Định nghĩ nghĩ a trên đượ c dùng cho cả cả hình r ờ ờ i r ạc lẫ l ẫn liên tụ tục. 47
Định nghĩ a 4.4 [Tập các điểm biên sinh] Cho map(x, y) là khoả khoảng cách ngắ ngắn nh n hất từ t ừ (x, y) đến đến biên (theo định định -1 nghĩ nghĩ a 4.3). Ta định định nghĩ nghĩ a: a: map (x, y) = {p| p ∈B(S), d(p, (x, y)):=map(x, y)} Khi đó tậ tập các điểm biên sinh ^B(S) đượ c định định nghĩ nghĩ a bở bở ii:: ^B(S) = ∪map-1(x, y), (x, y)∈ S (4.5) Do S có thể thể chứ chứa các đườ ng ng biên r ờ ời nhau, nên ^B(S) bao gồ gồm nhiề nhiều tập con, mỗ mỗi tậ tập mô tả tả một đườ ng ng biên phân biệ biệt: ^B(S)={B1(S),..BN(S)} (4.6) a 4.5 [Trục trung vị Voronoi rờ i rạc (DVMA)] Định nghĩ Tr ục trung vị vị Voronoi r ờ ời r ạc đượ c định định nghĩ nghĩ a là k ết quả quả của sơ đồ Voronoi bậ bậc nhấ nhất r ờ ời r ạc củ của tậ tập các điểm biên sinh giao vớ vớ i hình sinh S : DVMA(^B(S)) = Vor(^B(S)) ∩ S (4.7)
4.3.3. Xươ ng ng Voronoi rờ i rạc Định nghĩ a 4.6 [Xươ ng ng Voronoi rờ i rạc - DiscreteVoronoi Skeleton] Xươ ng ng Voronoi r ờ ời r ạc theo ngưỡ ngưỡ ng ng T, kí hiệ hiệu là SkeDVMA(^B(S),T) (hoặ (hoặc Ske(^B(S),T)) là mộ một tậ tập con củ của tr ục trung vị vị Voronoi: SkeDVMA(^B(S),T)= {(x,y)| (x,y)∈DVMA(^B(S)), Ψ(x,y) > T} (4.8) Ψ: là hàm hiệ hiệu chỉ chỉnh. Dễ thấ thấy nếu ngưỡ ngưỡ ng ng T càng lớ lớ n thì càng thì số số lượ ng ng điểm tham gia trong xươ xươ ng Vonoroi càng ít (Hình 4.2). ng
a)
c)
b)
d)
ng ng Voronoi rờ i rạc ảnh hưở ng ng của các hàm hi ệu chỉnh khác nhau. Hình 4.2. Xươ
đồ Voronoi. (c) Hiệu chỉnh bở (a) Ảnh nhị phân. (b) Sơ i hàm Potential, T=9.0. (d) Hiệu chỉnh bở i hàm Potential, T=18.0
48
4.3.4. Thuật toán tìm xươ ng ng Trong mụ mục này sẽ sẽ trình bày ý tưở tưở ng ng cơ bản của thuậ thuật toán tìm xươ xươ ng ng và mô tả tả bằng ngôn ngữ ngữ tựa Pascal. Việc tính toán sơ sơ đồ Voronoi đượ c bắ bắt đầu đầu từ từ một điểm Tăng trưở ng ng: Việ sinh trong mặ mặt phẳ phẳng. Sau đó điểm sinh thứ thứ hai đượ c thêm vào và quá trình tính toán tiế tiếp tụ tục vớ vớ i đa giác Voronoi đã tìm đượ c vớ vớ i điểm vừ vừa đượ c thêm vào đó. Cứ như như thế thế, quá trình tính toán sơ sơ đồ Voronoi đượ c thự thực hiệ hiện cho đến đến khi không còn điểm sinh nào đượ c thêm vào. Nhượ Nhượ c điểm của chiế chiến lượ c này là mỗ mỗi khi mộ một điểm mớ mớ i đượ c thêm vào, nó có thể thể gây ra sự sự phân vùng toàn bộ bộ các đa giác Voronoi đã đượ c tính. T ập các điểm biên đầu đầu tiên đượ c chia thành hai tậ tập điểm Chia để trị: Tậ có kích cỡ cỡ bằng nhau. Sau đó thuậ thuật toán tính toán sơ sơ đồ Voronoi cho cả cả hai tập con điểm biên đó. Cuố Cuối cùng, ngườ ngườ i ta thự thực hiệ hiện việ việc ghép cả cả hai sơ sơ đồ Voronoi trên để thu đượ c k ết quả quả mong muố muốn. Tuy nhiên, việ việc chia tậ tập các điểm biên thành hai phầ phần không phả phải đượ c thự th ực hiệ hi ện mộ một lầ l ần, mà đượ c lặ l ặp lại nhiề nhiều lầ l ần cho đến đến khi việ việc tính toán sơ sơ đồ Voronoi tr ở ở nên đơ n giả gi ản. Vì thế thế, việ vi ệc tính sơ sơ đồ Voronoi tr ở ở thành vấ vấn đề làm thế thế nào để tr ộn hai sơ sơ đồ Voronoi lạ lại vớ vớ i nhau. Thuậ Thuật toán sẽ sẽ trình bày ở đây là sự sự k ết hợ hợ p củ của hai ý tưở tưở ng ng ở trên. Tuy nhiên, nó sẽ sẽ mang nhiề nhiều dáng dấ dấp củ của thuậ thuật toán chia để tr ị. Hình 4.3 minh hoạ hoạ ý tưở ng ng của thuậ thuật toán này. Mườ Mườ i một điểm biên đượ c chia thành hai phầ phần (bên trái: 1- 6, bên phả phải: 7-11) bở bở i đườ ng ng gấp khúc δ, và hai sơ sơ đồ Voronoi tươ tươ ng ng ứng Vor(SL) và Vor(SR ). Để thu đượ c sơ đồ Vornonoi Vor(SL ∪ SR ), ta thự thực hiệ hiện việ việc tr ộn hai sơ sơ đồ trên và xác định định lại một số đa giác sẽ sẽ bị sửa đổi đổi do ảnh hưở ng ng của các điểm bên cạ cạnh thuộộc sơ thu sơ đồ kia. Mỗ Mỗi phầ ph ần tử t ử của δ sẽ là mộ một bộ b ộ phậ phận củ c ủa đườ ng ng trung tr ực nối hai điểm mà mộ một điểm thuộ thuộc Vor(SL) và mộ một thuộ thuộc Vor(SR ). ). Tr ướ ướ c khi xây dự dựng δ, ta tìm ra phầ phần tử đầu đầu và cuố cuối của nó. Nhìn vào hình trên, ta nhậ nhận thấ thấy r ằng cạnh δ1 và δ5 là các tia. Dễ Dễ nhậ nhận thấ thấy r ằng việ việc tìm ra các cạnh đầu đầu và cuố cuối củ của δ tr ở ở thành việ việc tìm cạ cạnh vào tα và cạ cạnh ra tω.
δ
3 1 CH(SR)
7
CH(SL)
11
6
4
9 10
2 5
δ
8
Hình 4.3. Minh hoạ thuật toán trộn hai sơ đồ Voronoi
49
Sau khi đã tìm đượ c tα và tω, các điểm cuố cuối củ của tα đượ c sử sử dụng để xây dựng phầ phần tử tử đầu đầu tiên củ của δ (δ1 trong hình trên). Sau đó thuậ thuật toán tìm điểm giao củ của δ vớ i Vor(SL) và Vor(SR ). ). Trong ví dụ dụ trên, δ đầu đầu tiên giao vớ vớ i V(3). K ể từ đây, các điểm nằ nằm trên phầ phần kéo dài δ sẽ gần điểm 6 hơ h ơ n điểm 3. Do đó, phầ phần tử tử titiếếp theo δ2 của δ sẽ thu thuộộc vào đườ ng ng trung tr ực củ của điểm 6 và điểm 7. Sau đó điểm giao tiế tiếp theo củ của δ sẽ thu thuộộc và Vor(SL); δ bây giờ giờ sẽ đi vào V(9) và δ2 sẽ đượ c thay thế thế bở i δ3. Quá trình này sẽ sẽ k ết thúc khi δ gặp phầ phần tử tử cuố cuối δ5. Trên đây chỉ chỉ là minh hoạ hoạ cho thuậ thuật tr ộn hai sơ sơ đồ Voronoi trong chiế chiến lượ c chia để tr ị. Tuy nhiên, trong thuậ thuật toán sẽ sẽ trình bày ở đây thì sự sự thự thực hiệ hiện có khác mộ một chút. Tậ Tập các điểm ảnh không phả phải đượ c đưa đưa vào ngay từ từ đầu đầu mà sẽ sẽ đượ c quét vào từ từng dòng mộ một. Giả Giả sử tại bướ bướ c thứ thứ i, ta đã thu đượ c một sơ s ơ đồ Voronoi gồ gồm i-1 hàng các điểm sinh Vor(Si-1). Tiế Tiếp theo, ta quét lấy một hàng Li các điểm ảnh từ tập các điểm biên còn lạ lại. Thự Thực hiệ hiện việ việc tính sơ sơ đồ Voronoi Vor(Li) cho hàng này, sau đó tr ộn Vor(Si-1) vớ v ớ i Vor(Li). K ết quả quả ta sẽ đượ c một sơ đồ mớ i,i, và lạ lại thự thực hiệ hiện việ việc quét hàng Li+1 các điểm sinh còn lạ lại v.v.. Quá trình này sẽ sẽ k ết thúc khi không còn điểm biên nào để thêm vào sơ sơ đồ Voronoi. Do Vor(Li) sẽ có dạng r ăng lượ c (nế (nếu Li có k điểm thì Vor(Li) sẽ gồm k-1 đườ ng ng thẳ thẳng đứng), đứng), nên việ việc tr ộn Vor(Si-1) vớ v ớ i Vor(Li) có phầ phần đơ n giả giản hơ hơ n. n. v5
p8 t
p6
v4
v3
v2 p7
p10 v1
p4
v6
Các điểm thuộ thuộc Si-1 Hình 4.4. Minh
p9
p1
p2
t p5 p3
đồ Voronoi hoạ thuật toán thêm một điểm biên vào s ơ
Giả Giải thuậ thuật trên có thể thể đượ c mô tả tả bằng ngôn ngữ ngữ tựa Pascal như như sau:
Procedure VORONOI (*Si: Tậ Tập các điểm củ của i dòng quét đầu đầu tiên, 0 <= i <=iMAX, Vor(Si) sơ sơ đồ Vorronoi củ của Si *)
50
Begin i:=0; Si:=r ỗng; While (i
51
Chươ Chươ ng ng 5:
CÁC K LÝ Ỹ THUẬT HẬU XỬ 5.1. RÚT GỌN SỐ LƯỢ NG NG ĐIỂM BIỂU DIỄN 5.1.1. Giớ i thiệu Rút gọ gọn số số lượ ng ng điểm biể biểu diễ diễn là k ỹ thu thuậật thuộ thuộc phầ phần hậ hậu xử xử lý. K ết quả quả của phầ phần dò biên hay trích xươ xươ ng ng thu đượ c 1 dãy các điểm liên tiế tiếp. Vấn đề đặt đặt ra là hiệ hiệu có thể thể bá bớ b ớ t các điểm thu đượ c để giả giảm thiể thiểu không quan lư lưu tr ữ và thuậ thuận tiệ tiện cho việ việc đối đối sách hay không. Bài toán: Cho đườ ng ng cong gồ gồm n điểm trong mặ mặt phẳ phẳng (x1, y1), (x2, y2)… (xn,yn). Hãy bỏ bỏ bớ t 1 số điểm thuộ thuộc đườ ng ng cong sao cho đườ ng ng cong mớ mớ i nhậ nhận đượ c là (Xi1; Yi1), (Xi2; Yi2)… (Xim; Y “gần giố giống” vớ vớ i đườ ng ng cong im) “gầ ban đầu. đầu. * Một số độ đo “gần giống” + Chiề Chiều dài (chiề (chiều r ộng) củ của hình chữ chữ nhậ nhật nhá nhấ nhất chứ chứa đườ ng ng cong + Khoả Khoảng cách lớ lớ n nh n hất từ t ừ đườ ng ng cong đến đến đoạn thẳ th ẳng nối 2 đầu đầu mót của đườ ng ng cong + Tỷ T ỷ lệ giữ giữa chiề chiều dài và chiề chiều r ộng của hình chữ chữ nhậ nhật nhá nhấ nhất chứ ch ứa đườ ng ng con + Số Số lần đườ ng ng cong cắ cắt đoạn thẳ thẳng nố nối 2 đầu đầu mót
5.1.2. Thuật toán Douglas Peucker 5.1.2.1. Ý tưở ng ng
h>θ
θ
Hình 5.1. Đơ n giản hóa đườ ng ng công theo thu ật toán Douglas Peucker
Ý tưở ng ng cơ bản của thuậ thuật toán Douglas-Peucker là xét xem khoả khoảng cách lớ lớ n nhấ nhất từ đườ ng ng cong tớ tớ i đoạn thẳ thẳng nối hai đầu đầu mút đườ ng ng cong (xem Hình 5.1) có lớ lớ n hơ hơ n ngưỡ ngưỡ ng ng θ không. Nế Nếu điều này đúng thì điểm xa nhấ nhất đượ c giữ giữ lại làm điểm chia đườ ng ng cong và thuậ thuật toán đượ c thự thực hiệ hiện 52
tươ ng ng tự vớ i hai đườ ng ng cong vừ vừa tìm đượ c. c. Trong tr ườ ườ ng ng hợ p ngượ ngượ c lại, k ết quả quả của thuậ thuật toán đơ n giả giản hoá là hai điểm đầu đầu mút củ của đườ ng ng cong. Thuậ Thuật toán Douglas-Peucker: c 1: Chọ Chọn ngưỡ ngưỡ ng ng θ. • Bướ c 2: Tìm khoả khoảng cách lớ lớ n nhấ nhất từ đườ ng ng cong tớ tớ i đoạn thẳ thẳng • Bướ nối hai đầu đầu đoạn đườ ng ng cong h. c 3: ếNu h ≤ θ thì dừ dừng. • Bướ c 4: ếNu h > θ thì giữ giữ lại điểm đạt đạt cự c ực đại đại này và quay tr ở ở lại • Bướ bướ c 1. Nhận xét: Thuậ Thuật toán này tỏ tỏ ra thuậ thuận lợ i đối đối vớ v ớ i các đườ ng ng cong thu nhậ nhận đượ c mà gố gốc là các đoạn thẳ thẳng, phù hợ hợ p vớ i việ việc đơ n giả giản hoá trong quá trình véctơ véctơ các bả bản vẽ vẽ k ỹ thu thuậật, sơ sơ đồ thi thiếết k ế mạch in v.v.. 5.1.2.2. Chươ ng ng trình //Hàm tính đườ ng ng cao từ từ dinh đến đến đoạn thẳ thẳng nố nối hai điểm dau, cuoi float Tinhduongcao (POINT dau, POINT cuoi, POINT dinh) { floot h; ng ng cao ⎢⎢tính đườ returm h ; } //Hàm đệ quy nhằ nhằm đánh dấ dấu loạ loại bỏ bỏ các điểm trong đườ ng ng cong void DPSimple(POINT *pLINE,int dau,int cuoi,BOOL *chiso,float θ)
{ int i, index = dau; float h, hmax = 0; for(i = dau + 1; i < cuoi; i++) { h= Tinhduongcao(pLINE[dau], pLINE[cuoi]; pLINE[i]); if(h > hmax)
{ hmax = h; index = i; 53
} } if(hmax ≤ θ) for(i= dau + 1; i < cuoi, i++) chiso[i] = FALSE; else
{ DPSimple(PLINE, dau, index, chiso, θ); DPSimple(PLINE, index, cuoi, chiso, θ) ;
} } //Hàm rút gọ gọn số số lượ ng ng điểm DouglasPeucker int DouglasPeucker(POINT *pLINE, int n, float θ)
{ int i, j; BOOL chiso [MAX_PT]; for(i = 0; i < m; i++) //T ất cả cả các điểm đượ c giữ giữ lại chiso[i] = TRUE; DPSimple(pLINE, 0, n – 1, chiso, θ); for(i = j = 0; i < n; i ++) if (chiso [i] ==TRUE) pLINE[j++] = pLINE[i]; return j; }
5.1.3. Thuật toán Band width 5.1.3.1. Ý tưở ng ng Trong thuậ thuật toán Band Width, ta hình dung có mộ một dả dải bă băng di chuyể chuyển từ đầu đầu mút đườ ng ng cong dọ dọc theo đườ ng ng cong sao cho đườ ng ng cong nằ nằm trong di bă băng đó cho đến đến khi có điểm thuộ thuộc đườ ng ng cong chạ chạm vào biên củ của dải bă b ăng, điểm này sẽ sẽ đượ c giữ gi ữ lại. Quá trình này đượ c thự th ực hiệ hi ện vớ v ớ i phầ ph ần còn lạ lại của đườ ng ng cong bắ bắt đầu đầu từ điểm vừa tìm đượ c cho đến đến khi hế hết đườ ng ng cong. Cụ Cụ thể thể như như sau: 54
P 3 P 2
P 1
di
P 4 dk P 5
Hình 5.2. Đơ n giản hóa đườ ng ng cong v ớ i thuật toán Band Width
Bắt đầu đầu bằng việ việc xác định định điểm đầu đầu tiên trên đườ ng ng cong và coi đó như như là một điểm chố ch ốt (P1). Điểm thứ th ứ ba (P3) đượ c coi là điểm động. động. Điểm giữ giữa điểm chố chốt và điểm động động (P2) là điểm trung gian. Ban đầu đầu khoả khoảng cách từ điểm trung gian đến đến đoạn thẳ thẳng nối điểm chố chốt và điểm động động đượ c tính toán và kiế kiếm tra. Nế Nếu khoả khoảng cách tính đượ c này nhỏ nhỏ hơ n một ngưỡ ngưỡ ng ng θ cho tr ướ ướ c thì điểm trung gian có thể thể bỏ đi, tiế tiến trình tiế tiếp tụ t ục vớ v ớ i điểm chố chốt là điểm chố ch ốt cũ c ũ, điểm trung gian là điểm động động cũ và điểm động động là điểm k ế titiếếp sau điểm động động cũ cũ. Trong tr ườ ườ ng ng hợ h ợ p ngượ ng ượ c lạ lại, khoả khoảng cách tính đượ c lớ n hơ n ngưỡ ngưỡ ng ng θ cho tr ướ ướ c thì điểm trung gian sẽ sẽ đượ c giữ giữ lại, tiế tiến trình titiếếp tục vớ i điểm chố ch ốt là điển trung gian, điểm trung gian là điểm động động cũ và điểm động động là điểm k ế titiếếp sau điểm động động cũ. Tiế Tiến trình đượ c lặp cho đến đến hế hết đườ ng ng cong (Hình 5.2 minh họ họa thuậ thuật toán Band-Width). Thuậ Thuật toán Band-Width: c 1: Xác định định điểm đầu đầu tiên trên đườ ng ng cong và coi đó như nh ư là • Bướ một điểm chố chốt (P1). Điểm thứ thứ ba (P3) đượ c coi là điểm động. động. Điểm giữ giữa điểm chố chốt và điểm động động (P2) là điểm trung gian. • Bướ c 2: Tính khoả khoảng cách từ từ điểm trung gian đến đến đoạn thẳ thẳng nối hai điểm chố chốt và điểm động. động. • Bướ c 3: Kiể Kiểm tra khoả khoảng cách tìm đượ c nế n ếu nhỏ nh ỏ hơ n mộ một ngưỡ ngưỡ ng ng ướ ướ c thì điểm trung gian có thể thể bỏ đi. Trong tr ườ ườ ng ng θ cho tr hợ p ngượ ngượ c lạ lại điểm chố chốt chuyể chuyển đến đến điểm trung gian. c 4: Chu trình đượ c lặp lại thì điểm trung gian đượ c chuyể chuyển • Bướ đến đến điểm động động và điểm k ế titiếếp sau điểm động động đượ c chỉ chỉ định định làm điểm động động mớ mớ i.. i.. Nhận xét: Thuậ Thuật toán này tă tăng tốc độ trong tr ườ ườ ng ng hợ p đườ ng ng ống chứ chứa nhiềều điểm, điều đó có nghĩ nhi nghĩ a là độ lệch giữ giữa các điểm trong đườ ng ng thẳ thẳng là nhỏ nhỏ, hay độ dày nét củ của đườ ng ng đượ c véctơ véctơ hoá là mả mảnh.
55
5.1.3.2. Chươ ng ng trình //Hàm tính đườ ng ng cao từ từ đỉnh đỉnh đến đến đoạn thẳ thẳng nố nối hai điểm dau, cuoi float Tinhduongcao(POINT dau, POINT cuoi, POINT dinh) { floot h; ng ng cao ⎢⎢tính đườ returm h ; } //Hàm đệ quy nhằ nhằm đánh dấ dấu loạ loại bỏ bỏ các điểm trong đườ ng ng cong void BWSimple(POINT *pLINE, int chot, int tg, BOOL *chiso, float θ, int n) { if(Tinhduongcao(pLINE [chot], pLINE[tg+1], pLINE[tg]) ≤ θ) chiso[tg] = 0; else chot = tg; tg = tg + 1 if(tg < n - 1) BWSimple (pLINE, chot, tg, chiso, θ, n) ; } //Hàm rút gọ gọn số số lượ ng ng điểm BandWidth int BandWidth(POINT *pLINE, int n, floot θ)
{ int i, j; BOOL chiso [MAX_PT]; for (i = 0; i < n; i++) chiso[i]= TRUE; //Tấ //Tất cả cả các điểm đượ c giữ giữ lại BWSimple(pLINE, 0, 1, chiso, θ, n); for(i= j= 0; i < n; i++) if(chiso [i]== TRUE)
56
pLINE [j ++1] = pLINE [i]; return j; }
5.1.4. Thuật toán Angles 5.1.4.1. Ý tưở ng ng Tươ ng ng tự như như thu thuậật toán Band Width như nhưng thay việ việc tính toán khoả khoảng cách bở bở i tính góc. Cụ Cụ thể thể thu thuậật toán bắ bắt đầu đầu vớ i điểm đầu đầu đườ ng ng cong (P1) là điểm chố chốt. P 3 P 2
α
αk P 4 P 5
P 1
Hình 5.3. Đơ n giản hóa đườ ng ng cong v ớ i thuật toán Angles
Điểm thứ thứ 3 củ của đườ ng ng cong (P3) là điểm động, động, điểm giữ giữa điểm chố chốt và điểm động động (P2) là điểm trung gian Góc tạ tạo bở i điểm chố chốt, trung gian, động động vớ i điểm trung gian là đỉnh đỉnh việ việc tính toán và kiể kiểm tra Nếu thì điểm trung gian có thể thể bỏ đi trong tr ườ ườ ng ng hợ h ợ p ngượ ng ượ c lạ l ại điểm chố chốt sẽ là điểm trung gian cũ cũ và quá trình lặ lặp vớ i điểm trung gian là điểm động động cũ, điểm động động mớ i là điểm k ế titiếếp sau điểm động động cũ. Tiế Ti ến trình thự thực hiệ hiện cho đến đến hế hết đườ ng ng cong. 5.1.4.2. Chươ ng ng trình //Hàm tính đườ ng ng cao từ từ đỉnh đỉnh đến đến đoạn thẳ thẳng nố nối hai điểm dau, cuoi float Tinhgoc(POINT dau, POINT cuoi, POINT dinh) { float θ; (tự viế viết) ⎢⎢tinhgoc (tự return θ; } //Hàm đệ quy nhằ nhằm đánh dấ dấu loạ loại bỏ bỏ các điểm trong đườ ng ng cong void ALSimple(POINT *pLINE,int chot,int tg,BOOL *chiso,float θ,int n) { 57
if(Tinhgoc(pLINE[chot], pLINE[tg], pLINE[tg+1]) > θ) chiso[tg] = FALSE; else chot = tg; tg = tg + 1; if(tg < n - 1) ALSimple(pLINE, chot, tg, chiso, θ, n); } //Hàm rút gọ gọn số số lượ ng ng điểm Angles int Angles(POINT *pLINE, int n, float θ)
{ int i, j, chiso [MAX]; for (i = 0; i < n; i++) //Tấ //Tất cả cả các điểm đượ c giữ giữ lại chiso[i]= TRUE; ALSiple (PLINE, 0, 1 chiso, θ, n) ; for (i = j = 0; i < n; i++) if (chiso ==TRUE) pLINE[j++]= pLINE [i]; return j; } * Chú ý: Vớ i θ= 0 thuậ thuật toán DouglasPeucker và BandWidth sẽ sẽ bỏ đi các điểm o giữ giữa thẳ thẳng hàng. Thuậ Thuật toán Angles phả phải có θ= 180 để bỏ đi các điểm giữ giữa thẳ thẳng hàng.
5.2. XẤP XỈ ĐA GIÁC BỞ I CÁC HÌNH C Ơ SỞ Các đối đối tượ tượ ng ng hình họ học đượ c phát hiệ hiện thườ thườ ng ng thông qua các k ỹ thu thuậật dò biên, k ết quả quả tìm đượ c này là các đườ ng ng biên xác định định đối đối tượ tượ ng. ng. Đó là, một dãy các điểm liên tiế tiếp đóng kính, sử sử dụng các thuậ thuật toán đơ n gi g iản hoá như như Douglas Peucker, Band Width, Angle v.v.. ta sẽ sẽ thu đượ c mộ một polyline hay nói khác đi là thu đượ c mộ m ột đa giác xác định định đối đối tượ t ượ ng ng dấ d ấu. Vấ V ấn đề là ta cần phả phải xác định định xem đối đối tượ ng ng có phả phải là đối đối tượ ng ng cần tách hay không? Như Như ta đã biế biết mộ một đa giác có thể thể có hình dạ dạng tự tựa như như một hình cơ cơ
58
sở , có thể thể có nhiề nhiều cách tiế tiếp cậ cận xấ xấp xỉ xỉ khác nhau. Cách xấ xấp xỉ xỉ dựa trên các đặc đặc tr ưng cơ cơ bản sau: thống kê, số số đo hình họ học như như chu Đặc trư ng ng toàn cục: Các mô men thố vi, diệ diện tích, tậ tập tố tối ưu các hình chữ chữ nhậ nhật phủ phủ hay nộ nội tiế tiếp đa giác v.v.. số đo đặc đặc tr ưng của đườ ng ng cong như như Đặc trư ng ng địa phươ ng: ng: Các số góc, điểm lồ lồi, lõm, uố uốn, cự cực tr ị v.v.. Nhậ Nhận dạ dạng đối đối tượ tượ ng ng Bất biế biến đồng đồng dạ dạng
Bất biế biến Aphin
Đườ ng ng tròn Ellipse Hình chữ chữ nhậ nhật
Ellipse Tam giác Tứ giác
Hình 5.4. Sơ ng ng theo bất biến đồ phân loại các đối tượ
Việ Việc xấp xỉ tỏ ra r ất có hiệ hiệu quả quả đối đối vớ i một số hình phẳ phẳng đặc đặc biệ biệt như như tam giác, đườ ng ng tròn, hình chữ chữ nhậ nhật, hình vuông, hình ellipse, hình tròn và mộ một đa giác mẫ mẫu.
5.2.1 Xấp xỉ đa giác theo bất biến đồng dạng
Hình 5.5. Xấp xỉ đa giác b ở i một đa giác m ẫu
Một đa giác vớ vớ i các đỉnh đỉnh V0,..,Vm-1 đượ c xấp xỉ vớ i đa giác mẫ mẫu U0,..,Un-1 vớ i độ đo xấ xấp xỉ xỉ như như sau: ) = min E (V ,U
0 ≤ d ≤ m− 1
Δ d n
,
59
Trong đó Δ d =
2
n −1
minr
∑ kR U θ
∈R 2 j = 0 0≤θ ≤ 2π ,α
j
, k + a − V( = j + d ) mo mod m
d
area (V0 LV m −1 ) , vớ i R θ là area (U 0 LU n ) −1
phép quay quanh gố gốc toạ toạ độ một góc θ. Trong đó, Δd đượ c tính hiệ hiệu quả quả bằng công thứ thức sau: n −1
n −1 n −1 1 n −1 2 2 2 Δ d = |V V | +k |U j | −2 k| U jV( j +d ( j + d ) mod m | − | ) mod m | n j = 0 ( j + d ) mod m j =0 j =0 j =0
∑
2
∑
∑
∑
d
Ở đây Uj, Vj đượ c hiể hiểu là các số số phứ phức tại các đỉnh đỉnh tươ ng ng ứng. Khi m >> n thì độ phứ phức tạp tính toán r ất lớ n. n. Vớ i các hình đặc đặc biệ biệt như như hình tròn, ellipse, hình chữ chữ nhậ nhật, hình xác định định duy nhấ nhất bở bở i tâm và mộ một đỉnh đỉnh (đ ( đa giác đều đều ) ta có thể thể vận dụng các phươ phươ ng ng pháp đơ n giả giản hơ n như như bình phươ phươ ng ng tố tối thiể thiểu, các bấ bất biế biến thố thống kê và hình họ học. Định nghĩ a 5.1 Cho đa giác Pg có các đỉnh đỉnh U 0, U1,..., Un(U0 ≡Un) Khi đó mô men bậ b ậc p+q đượ c xác định định như như sau: M pq =
x y dxdy . ∫∫ p
q
Pg
Trong thự thực hành để tính tích phân trên ngườ ngườ i ta thườ thườ ng ng sử dụng công thứ thức Green hoặ hoặc có thể thể phân tích phầ phần bên trong đa giác thành tổ tổng đại đại số số của các tam giác có hướ h ướ ng ng Δ OUiUi+1 . U2
U1
f ( x , y) x ∫∫
p
y q dx dxdy =
Pg
U0
U3
n −1
∑ sign( x y − x y ) × f ( x, y) x y dx dxdy ∫∫ i =0
(0,0)
… Un-
i
i +1
p
i +1 i
q
ΔOU iU i +1
Hình 5.6. Phân tích mi ền đa giác thành t ổng đại số các miền tam giác
60
a. Xấp xỉ đa giác bằng đườ ng ng tròn Dùng phươ phươ ng ng pháp bình phươ phươ ng ng tố tối thiể thiểu, ta có độ đo xấ xấp xỉ xỉ: E(Pg,Cr)= min
a , b,c∈R
1 n 2 ( xi + yi2 + axi + byi + c) 2 n i =1
∑
Hình 5.7. Xấp xỉ đa giác b ằng đườ ng ng tròn
b. Xấp xỉ đa giác bằng ellipse Cũng như như đối đối vớ vớ i đườ ng ng tròn phươ phươ ng ng trình xấ xấp xỉ xỉ đối đối vớ vớ i ellipse đượ c cho bở bở i công thứ thức: E(Pg,El)=
1 a ,b ,c ,d ,e ∈R n min
n
∑(x i =1
2 i
+ ayi2 + bxi yi + cxi + dyi + e) 2
Một biế biến thể thể khác củ của phươ phươ ng ng pháp bình phươ phươ ng ng tối thiể thiểu khi xấ xấp xỉ các đườ ng ng cong bậ bậc hai đượ c đưa đưa ra trong [7]. c. Xấp xỉ đa giác bở i hình chữ nhật Sử dụng tính chấ chất diệ diện tích bấ bất biế biến qua phép quay, xấ xấp xỉ theo diệ diện tích như như sau: Gọ Gọi μ11 , μ20 , μ bậc hai củ của đa giác (tính theo 02 là các mô men bậ diệ diện tích). Khi đó góc quay đượ c tính bở bở i công thứ thức sau: 2 11 = tg 2ϕ μ20 - μ 02 . Gọi diệ diện tích củ của hình chữ chữ nhậ nhật nhỏ nhỏ nhấ nhất có các cạ cạnh song song vớ vớ i các tr ục quán tính và bao quanh đa giác Pg là S. Kí hiệ hiệu E(Pg, Rect)=
S − area( Pg Pg )
x
Hình 5.8. X ấp xỉ đa giác b ằng hình chữ nhật
61
d. Xấp xỉ đa giác bở i đa giác đều n cạnh Gọi M(x0,y0) là tr ọng tâm củ của đa giác, lấ lấy một đỉnh đỉnh Q tuỳ tuỳ ý của đa giác, xét đa giác đều đều n cạ cạnh Pg’ tạ tạo bở bở i đỉnh đỉnh Q vớ vớ i tâm là M. Kí hiệ hiệu E(Pg, Pg’)=
') area ( Pg) − area ( Pg
E(Pg, En)=min E(Pg,Pg’) khi Q chạ chạy khắ khắp các đỉnh đỉnh củ của đa giác.
5.2.2 Xấp xỉ đa giác theo bất biến aphin Trong [7] đưa đưa ra mô hình chuẩ chuẩn tắ tắc về về bất biế biến aphin, cho phép chúng ta có thể thể chuyể chuyển bài toán xấ xấp xỉ đối đối tượ ng ng bở i bất biế biến aphin về về bài toán xấp xỉ mẫu trên các dạ dạng chuẩ chuẩn tắc. Như Như vậy có thể thể đưa đưa việ việc đối đối sánh các đối đối tượ ng ng vớ i mẫu bở i các bấ bất biế biến đồng đồng dạng, chẳ chẳng hạn việ việc xấp xỉ bở i tam giác, hình bình hành, ellipse tươ tươ ng ng đươ ng ng vớ vớ i xấ xấp xỉ xỉ tam giác đều, đều, hình vuông, hình tròn v.v... Thủ Thủ tục xấp xỉ theo bấ bất biế biến aphin mộ một đa giác vớ vớ i hình cơ cơ sở đượ c thự thực hiệ hiện tuầ tuần tự tự như như sau: + Bướ c 0: Phân loạ loại bấ bất biế biến aphin các dạ dạng hình cơ cơ sở Dạng hình cơ cơ sở D ở Dạng chuẩ chuẩn tắ t ắc Tam giác Tam giác đều đều Hình bình hành Hình vuông Ellipse Đườ ng ng tròn
…
…
c 1: + Bướ Tìm dạ dạng chuẩ chuẩn tắ tắc cơ cơ sở Pg' thoả thoả mãn điều kiệ kiện: (phép tịtịnh tiế tiến) ⎧m01 = m10 = 0 ⎪ ⎨m02 = m20 = 1 (phép co dãn theo hai tr ục x, y)
⎪m = m = 0 31 ⎩ 13
(**)
c 2: + Bướ Xác định định biế biến đổi đổi aphin T chuyể chuyển đa giác thành đa giác Pg ở dạng chuẩ chuẩn tắ tắc (thoả (thoả mãn tính chấ chất (**)). Xấp xỉ xỉ đa giác Pg vớ vớ i dạ dạng chuẩ chuẩn tắ tắc cơ cơ sở Pg’ tìm đượ c ở bướ c 1 vớ vớ i độ đo xấ xấp xỉ xỉ E(Pg,Pg’). c 3: + Bướ K ết luậ luận, đa giác ban đầu đầu xấ xấp xỉ xỉ T-1(Pg’) vớ vớ i độ đo xấ xấp xỉ xỉ E(Pg,Pg’).
62
Đối Đối vớ vớ i bướ bướ c 1 trong [7] đã đưa đưa ra hai ví dụ dụ sau: Ví d ụ 1: Tồn tạ tại duy nhấ nhất tam giác đều đều ΔP1P2P3 thoả thoả mãn tính chấ chất (**) là α=
4
28 3 3 .
P1=(0,-2α),P2= ( 3α, α) , P3= (− 3α, α) , Ví d ụ 2: Tồn tạ tại hai hình vuông P1P2 P3 P4 thoả thoả mãn tính chấ chất (**) Hình vuông thứ thứ nhấ nhất có 4 đỉnh đỉnh tươ ng ng ứng là (-p,-p),(-p,p), (p,3 p),(p,p), vớ vớ i p= 4 4
Hình vuông thứ thứ hai có 4 đỉnh đỉnh tươ ng ng ứng là (-p,0),(p,0), (0,-p),(0,p), vớ i p= 4 3 .
5.3. BIẾN ĐỔI HOUGH 5.3.1. Biến đổi Hongh cho đườ ng ng thẳng Bằng cách nào đó ta thu đượ c một số điểm vấn đề đặt đặt ra là cầ cần phả phải kiể kiểm tra xem các điểm có là đườ ng ng thẳ thẳng hay không Bài toán: Cho n điểm (xi; yi) i = 1, n và ngưỡ ngưỡ ng ng θ hãy kiể kiểm tra n điểm có tạ t ạo thành đườ ng ng thẳ thẳng hay không? * Ý t ng ng ưở ưở Giả Giả sử n điểm nằm trên cùng mộ một đườ ng ng thẳ thẳng và đườ ng ng thẳ thẳng có phươ phươ ng ng trình y = ax + b Vì (xi, yi) i = 1, n thuộ thuộc đườ ng ng thẳ thẳng nên y1 = ax1 + b, ∀i = 1, n ⇔ b = - xia + y1; ∀i = 1, n Như Như vậy, mỗi điểm (xi; yi) trong mặ mặt phẳ phẳng sẽ tươ ng ng ứng vớ i một số đườ ng ng thẳ thẳng b = - xia + yi trong mặ mặt phẳ ph ẳng tham số số a, b. n điểm (x i; y i) i = 1, n thuộ thuộc đườ ng ng thẳ thẳng trong mặ mặt phẳ phẳng tươ ng ng ứng vớ i n đườ ng ng thẳ thẳng trong mặ mặt phẳ ph ẳng tham số số a, b giao nhau tạ tại 1 điểm và điểm giao chính là a, b. Chính là hệ hệ số xác định định phươ phươ ng ng trình củ của đườ ng ng thẳ thẳng mà các điểm nằm vào.
63
* Phươ ng ng pháp: - Xây dự dựng mảng chỉ chỉ số [a, b] và gán giá tr ị 0 ban đầu đầu cho tấ tất cả các phân tử tử của mả mảng - Vớ i mỗi (xi; yi) và ∀a, b là chỉ chỉ số của phầ phần tử mảng thoả thoả mãn b = - xia + yi tăng giá tr ị của phân tử tử mảng tươ tươ ng ng ứng lên 1 - Tìm phầ phần tử tử mảng có giá tr ị lớ n nhấ nhất nế nếu giá tr ị lớ n nhấ nhất tìm đượ c so vớ i số s ố phân tử tử lớ n hơ n ho h oặc bằ b ằng ngư ngưìng θ cho tr ướ ướ c thì ta có thể thể k ết luậ lu ận các điểm nằm trên cùng 1 đườ ng ng thẳ thẳng và đườ ng ng thẳ thẳng có phươ phươ ng ng trình y = ax + b trong đó a, b tươ tươ ng ng ứng là chỉ chỉ số của phầ phần tử tử mảng có giá tr ị lớ n nhấ nhất tìm đượ c: c: Ví dụ dụ: Cho 5 điểm (0, 1); (1, 3); (2, 5); (3, 5); (4, 9) và θ = 80%. Hãy kiể kiểm tra xem 5 điểm đã cho có nằ nằm trên cùng mộ một đườ ng ng thẳ thẳng hay không? Hãy cho biế biết phươ phươ ng ng trình đườ ng ng thẳ thẳng nế nếu có? - Lậ Lập bả bảng chỉ chỉ số [a, b] và gán giá tr ị0
+ (0, 1): b = 1 + (1, 3): b = -a + 3 + (2, 5): b = -2a + 5 + (3, 5): b = -3a + 5 + (4, 9): b = -4a + 9 - Tìm phầ phần tử tử lớ n nhấ nhất có giáịtr 4 4/5 = 80% - K ết luậ luận: 5 điểm này nằ nằm trên cùng 1 đườ ng ng thẳ thẳng Phươ Ph ươ ng ng trình: y = 2x + 1
5.3.2. Biến đổi Hough cho đườ ng ng thẳng trong tọa độ cự c 5.3.2.1. Đườ ng ng thẳng Hough trong t ọa độ cự c
64
ϕ
x.cos +y.sin =r
Hình 5.9. Đườ ng ng thẳng Hough trong to ạ độ cự c
Mỗi điểm (x,y) trong mặ mặt phẳ phẳng đượ c biể biểu diễ diễn bở bở i cặ cặp (r,ϕ) trong tọ tọa độ cực. Tươ ng ng tự tự mỗi đườ ng ng thẳ thẳng trong mặ mặt phẳ phẳng cũ cũng có thể thể biể biểu diễ diễn bở bở i một cặ cặp (r,ϕ) trong tọ tọa độ cực vớ vớ i r là khoả khoảng cách từ từ gốc tọ tọa độ tớ i đườ ng ng thẳ thẳng đó và ϕ là góc tạ tạo bở i tr ục 0X vớ vớ i đườ ng ng thẳ thẳng vuông góc vớ vớ i nó, hình 5.9 biể biểu diễ diễn đườ ng ng thẳ thẳng hough trong tọ tọa độ Decard. Ngượ Ngượ c lại, mỗi một cặp (r,ϕ) trong toạ toạ độ cực cũng tươ ng ng ứng biể biểu diễ diễm mộ một đườ ng ng thẳ thẳng trong mặ mặt phẳ phẳng. Giả Giả sử M(x,y) là mộ mộ điểm thuộ thuộc đườ ng ng thẳ thẳng đượ c biể biểu diễ diễn bở bở i (r,ϕ), gọi H(X,Y) là hình chiế chiếu củ của gố gốc toạ toạ độ O trên đườ ng ng thẳ thẳng ta có: X= r. cosϕ và Y= r.sinϕ Mặt khác, ta có: OH.HA=0 Từ đó ta có mố mối liên hệ hệ giữ giữa (x,y) và (r,ϕ) như như sau: x*cosϕ+y*sinϕ= r. Xét n điểm thẳ thẳng hàng trong tọ tọa độ Đề các có phươ phươ ng ng trình x*cosϕ0+y*sinϕ0= r Biến đổi đổi Hough ánh xạ xạ n điểm này thành n đườ ng ng sin 0. Biế trong tọ tọa độ cực mà các đườ ng ng này đều đều đi qua (r của 0,ϕ0). Giao điểm (r 0,ϕ0) củ n đườ ng ng sin sẽ sẽ xác định định mộ một đườ ng ng thẳ thẳng trong hệ hệ tọa độ đề các. Như Như vậy, nhữ những đườ ng ng thẳ thẳng đi qua điểm (x,y) sẽ sẽ cho duy nhấ nhất một cặp (r,ϕ) và có bao nhiêu đườ ng ng qua (x,y)ẽ scó bấ bấy nhiêu cặ cặp giá tr ị (r,ϕ). 5.3.2.2. Áp dụng biến đổi Hough trong phát hiện góc nghiêng văn bản Ý tưở tưở ng ng củ của việ việc áp dụ dụng biế biến đổi đổi Hough trong phát hiệ hiện góc nghiêng văn bản là dùng mộ một mảng tích luỹ luỹ để đếm đếm số điểm ảnh nằm trên mộ một đườ ng ng thả thảng trong không gian ảnh. Mả Mảng tích luỹ luỹ là một mảng hai chiề chiều vớ i chỉ chỉ số hàng củ của mả m ảng cho biế biết góc lệ lệch ϕ của một đườ ng ng thẳ thẳng và chỉ chỉ số cột chính là giá tr ị r khoả khoảng cách từ từ gốc toạ to ạ độ tớ i đườ ng ng thẳ thẳng đó. Sau đó tính tổ tổng số số điểm ảnh nằ nằm trên nhữ những đườ ng ng thẳ thẳng song song nhau theo 65
các góc lệ lệch thay đổi. đổi. Góc nghiêng vă văn bả b ản tươ t ươ ng ng ứng vớ i góc có tổ tổng gía tr ị mảng tích luỹ luỹ cực đại. đại. Theo biế biến đổi đổi Hough, mỗ mỗi một đườ ng ng thẳ thẳng trong mặ mặt phẳ phẳng tươ ng ng ứng đượ c biể biểu diễ diễn bở bở i mộ một cặ cặp (r,ϕ). Giả Giả sử ta có mộ một điểm ảnh (x,y) trong mặt phẳ phẳng, vì qua điểm ảnh này có vô số số đườ ng ng thẳ thẳng, mỗ mỗi đườ ng ng thẳ thẳng lạ lại cho mộ một cặp (r,ϕ) nên vớ vớ i mỗi điểm ảnh ta sẽ sẽ xác định định đượ c một số cặp (r,ϕ) thoả thoả mãn phươ phươ ng ng trình Hough. x.cosϕ +y.sin +y.sinϕ =r =r 1 Hough[ Hough[ϕ ][r ][r 1]=3
x.cosϕ +y.sin +y.sinϕ =r =r 2 Hough[ Hough[ϕ ][r ][r 1]=4
Hình 5.10. Ứ ng ng dụng biến đổi Hough phát hi ện góc
Hình vẽ vẽ trên minh hoạ hoạ cách dùng biế biến đổi đổi Hough để phát hiệ hiện góc nghiêng vă văn bản. Giả Giả sử ta có mộ một số điểm ảnh, đây là nhữ những điểm giữ giữa đáy các hình chữ chữ nhậ nhật ngoạ ngoại titiếếp các đối đối tượ ng ng đã đượ c lựa chọ chọn từ các bướ c tr ướ ướ c. c. Ở đây, ta thấ thấy trên mặ mặt phẳ phẳng có hai đườ ng ng thẳ thẳng song song nhau. Đườ ng ng thẳ thẳng thứ thứ nhấ nhất có ba điểm ảnh nên giá tr ị mảng tích luỹ luỹ bằng 3, đườ ng ng thẳ thẳng thứ thứ hai có gia tr ị mảng tích luỹ luỹ bằng 4. Do đó, tổng giá tr ị mảng tích luỹ luỹ cho cùng góc ϕ tr ườ ườ ng ng hợ hợ p này bằ bằng 7. Gọi Hough[360][Max] là mả mảng tíchũy, l giả giả sử M và N tươ tươ ng ng ứng là chiề chiều r ộng và chiề chiều cao củ của ảnh, ta có các bướ bướ c chính trong quá trình áp dụng biế biến đổi đổi Hough phát hiệ hiện góc nghiêng vă văn bả bản như như sau: c 1: Khai báo mả + Bướ mảng chỉ chỉ số Hough[ϕ][r] vớ vớ i 0 ≤ ϕ ≤ 3600 ≤ M * M + N * N . và 0≤ r c 2: Gán giá tr + Bướ ị khở khở i tạ tạo bằ bằng 0 cho các phầ phần tử tử của mả mảng. c 3: Vớ + Bướ i mỗi cặp (x,y) là điểm giữ giữa đáy của hình chữ chữ nhậ nhật ngoạ ngoại tiế tiếp mộ một đối đối tượ tượ ng. ng. - Vớ i mỗi ϕi từ 0 đến đến 360 tính giá tr ị r thức i theo công thứ r i= x.cosϕi+y.sinϕ - Làm tròn giá tr ị r số nguyên gầ gần nhấ nhất là r i thành số 0 - Tăng giá tr ị của phầ phần tử mảng Hough[ϕi][r một 0] lên mộ đơ n vị vị.
66
mả mảng Hough[ϕ][r] tính tổ tổng giá tr ị các phầ phần tử t ử theo từng dòng và xác định định dòng có tổ tổng giá tr ị lớ n nhấ nhất. Do số phầ phần tử của một phầ phần tử mảng Hough[ϕ0][r số điểm 0] chính là số ảnh thuộ thuộc đườ ng ng thẳ thẳng x.cosϕ0+y.sinϕ0= r v ậy tổ tổng số s ố phầ phần tử t ử của mộ m ột 0 vì vậ hàng chính là tổ tổng số điểm ảnh thuộ thuộc các đườ ng ng thẳ thẳng tươ ng ng ứng đượ c biể biểu diễ diễn bở i góc ϕ của hàng đó. Do đó, góc nghiêng củ của toán vă văn bản chính là hàng có tổ tổng giá tr ị các phầ phần tử tử mảng lớ lớ n nhấ nhất. + Bướ c 4 : Trong
67
Phụụ lục 1: Ph
MỘT SỐ ĐỊNH DẠNG TRONG XỬ LÝ ẢNH
Hiện nay trên thế giớ i có trên 50 khuôn d ạng ảnh thông dụng. Sau đây là một s ố định d ạng ảnh hay dùng trong quá trình x ử lý ảnh hiện nay.
1. Định dạng ảnh IMG Ảnh IMG là ảnh đen tr ắng, phần đầu của ảnh IMG có 16 byte chứa các thông tin: •
•
6 byte đầu: dùng để đánh dấu định dạng ảnh. Giá tr ị của 6 byte này viết dướ i dạng Hexa: 0x0001 0x0008 0x0001 2 byte tiếp theo: chứa độ dài mẫu tin. Đó là độ dài của dãy các byte k c lặp lại một s ố lần ề liền nhau mà dóy này sẽ đượ nào đó. Số lần lặp này sẽ đượ c lưu trong byte đếm. Nhiều dãy giống nhau đượ c lưu trong một byte.
•
4 byte tiếp: mô tả kích cỡ pixel.
•
2 byte tiếp: số pixel trên một dòng ảnh.
•
2 byte cuối: số dòng ảnh trong ảnh.
c nén theo từng dòng, mỗi dòng bao gồm các gói Ảnh IMG đượ (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 tiên 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. c.
Quy cách gói tin này như sau: 0x80 Count. Byte thứ hai cho biết c. c. độ dài dãy các pixel không giống nhau không nén đượ 68
•
Loại 4: Dãy các Pixel gi ống nhau.
Tuỳ theo các bít cao của byte đầu tiên đượ c b ật hay tắt. N ếu bít cao đượ c b ật (giá tr ị 1) thỡ đây là gói nén các byte chỉ gồm bít 0, số các byte đượ c nén đượ c tính bở i 7 bít th ấp còn lại. Nếu bớ t cao tắt (giỏ tr ị 0) thì đây là gói nén các byte g ồm toán bít 1. Số các byte c nén đượ c tính bở i 7 bít còn lại. đượ Các gói tin của file IMG r ất đa dạng do ảnh IMG là ảnh đen tr ắng, do vậy ch ỉ cần 1 bít 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 ứng vớ i giá tr ị 1 hoặc 0. Tỷ lệ nén của kiểu định dạng này là khá cao.
2. Định dạng ảnh PCX Định d ạng ảnh PCX là một trong những định d ạng ảnh c ổ điển. Nó sử dụng phươ ng ng pháp mó hoỏ loạt dài RLE (Run – Length – Encoded) để nén dữ liệu ảnh. Quá tr n h nộn và giải nộn đượ c thực ỡnh ỡ hiện trên từng dũng ảnh. Thực tế, phươ ng 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. 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à PCX/PCC thì 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 ng pháp mã hoá. Nếu là 0 thì mã hoá theo phươ ng pháp BYTE PACKED, ngượ ng c lại là phươ ng ng pháp RLE. 1 byte: Số bít cho một điểm ảnh plane. 1 word: toạ độ góc trái 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. i.
•
1 word: kích th ướ c bề r ộng và bề cao của ảnh.
69
•
1 word: số điểm ảnh.
•
1 word: độ phân giải màn hình.
•
1 word.
•
•
•
48 byte: chia nó 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ố bớ t plane mà ảnh s ử dụng. Vớ i ảnh 16 màu, giá tr ị này là 4, vớ i ảnh 256 mầu (1pixel/8bits) thì s ố bít 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.
ng ng đượ c dùng để lưu tr Định dạng ảnh PCX thườ ữ ả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 ng hợ p làm tăng kích thướ c lưu ườ ườ tr c điểm này mà một s ố ứng d ụng s ử dụng m ột ki ểu ữ. C ũng vì nhượ n: n: định dạng TIFF (Targed Image File định dạng khác mềm dẻo hơ Format) sẽ mô tả dướ i đây.
3. Định dạng ảnh TIFF Kiểu định dạng TIFF đượ c thiết k t các vấn đề ế để làm nhẹ bớ liên quan đến việc mở r ộng tệp ảnh cố định. Về cấu trúc, nó cũng gồm 3 phần chính: •
Phần Header(IFH): cú trong tất cả cỏc tệp TIFF và gồm 8 byte: +
+
+
1 word: chỉ ra kiểu tạo tệp trên máy tính PC hay máy Macintosh. Hai loại này khác nhau r n ở thứ tự các ất lớ byte lưu tr ng ng ữ trong các số dài 2 hay 4 byte. N ếu tr ườ ườ này có giá tr ị là 4D4Dh thì đó là ảnh cho máy Macintosh, nếu là 4949h là c ủa máy PC.
ị là 42. đây là 1 word: version. từ này luôn có giá tr tr ưng của file TIFF và không thay đổi.
đặc
2 word: giá tr i cấu trúc ị Offset theo byte tính từ đầu tớ IFD là cấu trúc thứ hai của file. Thứ tự các byte này phụ thuộc vào dấu hiệu tr ng ng đầu tiên. ườ ườ
70
•
Phần thứ 2(IFD): Không ở ngay sau cấu trúc IFH mà v ị trí c xác định bở i tr ng ng Offset trong đầu tệp. Có thể có một đượ ườ ườ hay nhiều IFD cùng tồn tại trong một file. Một IFD bao gồm: +
2 byte: chứa các DE ( Directory Entry).
+
12 byte là các DE xếp liên tiếp, mỗi DE chiếm 12 byte.
+
•
4 byte: chứa Offset tr i IFD tiếp theo. Nếu đây là IFD ỏ tớ cuối cùng thì tr ng ng này có giá tr ườ ườ ị 0.
Phần thứ 3: các DE: các DE có dộ dài cố và chia làm 4 phần: + +
định gồm 12 byte
2 byte: chỉ ra dấu hiệu mà tệp ảnh đó đượ c xây dựng. 2 byte: kiểu dữ liệu của tham số ảnh. Có 5 kiểu tham số cơ bản: 1: BYTE (1 byte) 2: ASCII (1 byte) 3: SHORT (2 byte). 4: LONG (4 byte) 5: RATIONAL (8 byte)
+
+
4 byte: tr ng ng độ dài chưa s ố lượ ng ng chỉ mục c ủa ki ểu d ữ ườ ườ liệu đó ch ỉ ra. Nó không phải là tổng s ố byte cần thiết để lưu tr i kiểu ữ. Để có số liệu này ta cần nhân số chỉ mục vớ dữ liệu đã dùng. 4 byte: đó là Offset t ớ i điểm bắt đầu dữ liệu liên quan tớ i dấu hiệu, tức là liên quan vớ i DE không phải lưu tr ữ vật lý cùng vớ i nó nằm ở một vị trí nào đó trong file.
Dữ liệu chứa trong tệp thườ ng ng đượ c tổ chức thành các nhóm dòng (cột) quét của dữ liệu ảnh. Cách tổ chức này làm giảm b ộ nhớ cần thiết cho việc đọc tệp. Việc giải nén đượ c thực hi h iện theo 4 kiểu khác nhau đượ c lưu tr ữ trong byte dấu hiệu nén.
71
4. Định dạng file ảnh BITMAP Mỗi file BITMAP gồm đầu file chứa các thông tin chung về file, đầu thông tin chứa các thông tin về ảnh, một bảng màu và một mảng dữ liệu ảnh. Khuôn dạng đượ c cho như sau: BITMAPFILEHEADER BITMAPFILEHEADER bmfh; BITMAPINFOHEAD ER bmih; BITMAPINFOHEADER RGBQUAD aColors[]; BYTE
aBitmapBits[];
Trong đó, các cấu trúc
c định nghĩ a như sau: đượ
typedef struct tagBITMAPFILEHEADER tagBITMAPFILEHEADER { /* /* bmfh */ UINT DWORD
bfType; bfSize;
UINT UINT
bfReserved1; bfReserved2;
DWORD
bfOffBits;
} BITMAPFILEHEADER; BITMAPFILEHEADER; typedef struct tagBITMAPINFOHEADER tagBITMAPINFOHEADER { /* bmih */ */ DWORD biSize; LONG biWidth; LONG WORD
biHeight; biPlanes;
WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG
biYPelsPerMeter;
DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER, BITMAPINFOHEADER, *LPBITMAPINFOHEADER; *LPBITMAPINFOHEADER; vớ i
biSize biWidth biHeight
kích thướ thướ c củ của BITMAPINFOHEADER Chiề Chiều r ộng củ của ảnh, tính bằ bằng số số điểm ảnh Chiề Chiều cao củ của ảnh, tính bằ bằng số số điểm ảnh
72
biPlanes biBitCount biCompression biSizeImage
Số Số plane củ của thiế thiết bị bị, phả phải bằ bằng 1 Số Số bit cho mộ một điểm ảnh Kiể Kiểu nén Kích thướ thướ c củ của ảnh tính bằ bằng byte độ phân giả giải ngang củ của thiế thiết bị b ị, tính bằ bằng điểm ảnh trên biXPelsPerMeter met độ phân giả giải dọc của thiế thiết bị, tính bằ bằng điểm ảnh trên biYPelsPerMeter met biClrUsed Số Số lượ ng ng các màu thự thực sự sự đượ c sử sử dụng Số lượ ng ng các màu cầ cần thiế thiết cho việ việc hiể hiển thị thị, bằ bằng 0 nế nếu biClrImportant tất cả cả các màu đều đều cầ cần để hiể hiển thị thị Nếu bmih.biBitCount > 8 thì mả mảng màu rgbq[] tr ống, ngượ ngượ c lại thì mảng màu có 2<< bmih.biBitCount phầ phần tử tử. typedef struct tagRGBQUAD { /* rgbq */ BYTE rgbBlue; BYTE rgbGreen; BYTE rgbRed; BYTE rgbReserved; } RGBQUAD; Ta cũ cũng có: typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO, *PBITMAPINFO;
73
Phụụ lục 2: Ph
CÁC BƯỚ C THAO TÁC VỚ I FILE AVI
AVI là chuẩn video thườ ng ng đượ c tích hợ p trong các thư viện của các môi tr ng ng l ập trình. Để xử lý video, cần có các thao tác cơ bản ườ ườ để chuyển về xử lý ảnh các khung hình (các frames).
1. Bướ c 1: Mở và đóng thư viện Tr c mọi thao tác vớ i file AVI, chúng ta ph ải mở thư viện: ướ ướ AVIFileInit( ) Hàm này không cần tham số, có nhiệm vụ khở i động thư viện cung cấp các hàm thao tác vớ i file AVI. ( Đó là thư viện vfw32.lib, c khai báo trong file vfw.h). đượ Sau tất cả các thao tác bạn phải nhớ đóng thư viện đầu, chỉ bằng lệnh:
lúc đã mở
AVIFileExit( ) Nếu thiếu bất c ứ hàm nào, dù là mở hay đóng thư viện thì trình biên dịch đều sẽ thông báo lỗi.
2. Bướ c 2: Mở và đóng file AVI để thao tác: Sau khi mở thư viện, bạn phải mở file AVI bạn định thao tác: AVIFileOpen(PAVIFILE* ppfile, LPCSTR fname, UINT mode, CLSID pclsidHandler) Thực chất, hàm này tạo ra một vùng đệm chứa con tr ỏ tr ỏ đến file có tên là fname c ần mở . Và ppfile là con tr ỏ tr ỏ đến vùng bộ đệm đó. Tham số mode quy định kiểu mở file; chẳng hạn OF_CREATE i, i, OF_READ để đọc, OF_WRITE để ghi …. Tham số cuối để tạo mớ dùng là NULL. Tr c khi đóng thư viện, bạn phải ướ ướ cách dùng hàm:
, bằng đóng file AVI đã mở
AVIFileRelease(PAVIFILE pfile) Trong đó, pfile là con tr ỏ tr ỏ đến file cần đóng.
74
3. Bướ c 3: Mở dòng dữ liệu hình ảnh hay âm thanh trong file AVI đã mở ra để thao tác: AVIFileGetStream(PAVIFILE pfile, PAVISTREAM * ppavi, DWORD fccType, LONG lParam) Trong đó, pfile là con tr ; ppavi tr ỏ đến file đã mở ỏ đến dòng dữ liệu k , là ết quả; fccType là lo ại dòng dữ liệu chọn để mở streamtypeAUDIO nếu là tiếng và streamtypeVIDEO nếu là hình,… lParam đếm số loại dòng đượ c mở , là 0 nếu chỉ thao tác vớ i một loại dòng dữ liệu. Sau các thao tác vớ i dòng dữ liệu này, bạn nhớ phải đóng nó lại: AVIStreamRelease(PAVITREAM pavi).
4. Bướ c 4: Trườ ng ng hợ p thao tác vớ i dữ liệu hình của phim Chuẩn bị cho thao tác vớ i khung hình (frames): AVIStreamGetFrameOpen(PAVISTREAM pavi, LPBITMAPINFOHEADER lpbiWanted) Trong đó pavi tr , lpbiWanted là con ỏ đến dòng dữ liệu đã mở tr ỏ tr ỏ đến cấu trúc mong muốn của hình ảnh, ta dùng NULL để sử dụng cấu trúc mặc định. Hàm này tr ả về bướ c 5.
ng ng có kiểu PGETFRAME để dùng cho đối tượ
Sau khi thao tác vớ i các frame r ồi, phải gọi hàm : AVIStreamGetFrameClose(PGETFRAME pget)
5. Bướ c 5: Thao tác vớ i frame Dùng hàm AVIStreamGetFrame(PGETFRAME pget, LONG lpos) Hàm này tr ả về con tr ỏ tr ỏ đến dữ liệu của frame thứ lpos. Dữ liệu đó có kiểu là DIB đã định khối. Thực hiện các thao tác mong muốn.
75
TÀI LIỆU THAM KHẢO
[1]. Lươ ng ng Mạnh Bá, Nguyễ Nguyễn Thanh Thủ Thủy (2002), Nh Nhập Môn X lý ảnh ử ử số , Nxb Khoa họ học và K ỹ thu thuậật, 2002. [2]. Anil K.Jain (1989), Fundamental of Digital Image Processing. Prentice Hall , Engwood cliffs. [3]. J.R.Paker (1997), Algorithms for Image processing and Computer Vision. Vision. John Wiley & Sons, Inc. [4]. Randy Crane (1997), A simplified approach to image processing , Prentice-Hall, Inc. [5]. John C.Russ (1995), The Image Procesing Handbook . CRC Press, Inc. [6]. Adrian Low (1991), Introductory Computer Vision and Image Processing , Copyright (c) 1991 by McGrow Hill Book Company (UK) Limited. [7]. T. Pavlidis (1982), Algorithms for Graphics and Image Processing , Computer Science Press.
76