Nghiên cứu các kỹ thuật xử lý ảnh phục vụ việc nâng cao chất lượng nhận dạng tiếng Việt

  • Số trang: 67 |
  • Loại file: PDF |
  • Lượt xem: 28 |
  • Lượt tải: 0
nguyetha

Đã đăng 7932 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN CƯỜNG NGHIÊN CỨU CÁC KỸ THUẬT XỬ LÝ ẢNH PHỤC VỤ VIỆC NÂNG CAO CHẤT LƯỢNG NHẬN DẠNG TIẾNG VIỆT LUẬN VĂN THẠC SĨ Hà Nội - 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN NGUYỄN XUÂN CƯỜNG NGHIÊN CỨU CÁC KỸ THUẬT XỬ LÝ ẢNH PHỤC VỤ VIỆC NÂNG CAO CHẤT LƯỢNG NHẬN DẠNG TIẾNG VIỆT Ngành: Công nghệ Thông tin Chuyên ngành: Quản lý Hệ thống Thông tin Mã số: Chuyên ngành đào tạo thí điẻm LUẬN VĂN THẠC SĨ NGƯỜ I HƯỚNG DẪN KHOA HỌC: Ts. Vũ Duy Linh Hà Nội – 2015 1 LỜI CAM ĐOAN Tôi xin cam đoan rằng, đây là kết quả nghiên cứu của tôi trong đó có sự giúp đỡ rất lớn của thầy hướng dẫn và các đồng nghiệp ở cơ quan. Các nội dung nghiên cứu và kết quả trong đề tài này hoàn toàn trung thực. Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đã liệt kê tại phần “Tài liệu tham khảo” ở cuối luận văn. Tác giả luận văn Nguyễn Xuân Cường 2 LỜI CẢM ƠN Em xin chân thành cảm ơn đến Viện Công Nghệ thông tin, Đại học Công Nghệ, Đại học Quốc gia Hà Nội đã tạo điều kiện cho em học tập và thực hiện luận văn này. Em xin gửi lời cảm ơn chân thành đến Tiến sĩ Vũ Duy Linh, người đã tận tình hướng dẫn em trong quá trình làm luận văn này. Em xin cảm ơn quý Thầy Cô đã nhiệt tình giảng dạy cho chúng em trong những năm học vừa qua. Cuối cùng, em xin được gửi lời cảm ơn chân thành đến gia đình cũng như bạn bè, đồng nghiệp đã luôn ủng hộ, động viên em để em có thể có điều kiện tốt nhất để học tập và nghiên cứu. Hà Nội, tháng 6/2015 Nguyễn Xuân Cường – CIO 04 Viện Công nghệ thông tin – Đại học Quốc gia Hà Nội 3 MỤC LỤC BẢNG KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT ...............................................................................................6 MỞ ĐẦU........................................................................................................................................................7 CHƯƠNG 1 – TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ THƯ VIỆN OPENCV ...............................................9 1.1 Giới thiệu về xử lý ảnh .........................................................................................................................9 1.1.1 Phần thu nhận ảnh .......................................................................................................................10 1.1.2 Tiền xử lý ....................................................................................................................................10 1.1.3 Phân đoạn ảnh (phân vùng ảnh) ..................................................................................................11 1.1.4 Biểu diễn và mô tả .......................................................................................................................11 1.1.5 Nhận dạng và nội suy ..................................................................................................................11 1.1.6 Cơ sở tri thức ...............................................................................................................................11 1.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh .................................................................................12 1.2.1 Điểm ảnh .....................................................................................................................................12 1.2.2 Độ phân giải của ảnh ...................................................................................................................13 1.2.3 Mức xám của ảnh ........................................................................................................................13 1.2.4 Định nghĩa ảnh số........................................................................................................................13 1.2.5 Mối liên hệ giữa các điểm ảnh ....................................................................................................14 1.3 Những vấn đề khác trong xử lý ảnh ...................................................................................................14 1.3.1 Biến đổi ảnh ................................................................................................................................14 1.3.2 Nén ảnh .......................................................................................................................................15 1.4 Một số phương pháp biểu diễn ảnh ....................................................................................................15 1.4.1 Mã loạt dài...................................................................................................................................15 1.4.2 Mã xích........................................................................................................................................15 1.4.3 Mã tứ phân ..................................................................................................................................16 1.5 Thư viện OpenCV ..............................................................................................................................16 1.5.1 Tổng quan....................................................................................................................................16 1.5.2 Những điểm đặc trưng .................................................................................................................17 1.5.3 Các tổ chức ..................................................................................................................................19 1.6 ImageMagick......................................................................................................................................19 CHƯƠNG 2 – MỘT SỐ PHƯƠNG PHÁP TIỀN XỬ LÝ NÂNG CAO CHẤT LƯỢNG ẢNH................21 2.1 Cải thiện ảnh sử dụng các toán tử điểm .............................................................................................21 2.1.1 Tăng độ tương phản (Stretching Contrast) ..................................................................................22 4 2.1.2 Tách nhiễu và phân ngưỡng ........................................................................................................23 2.1.3 Biến đổi âm bản (Digital Negative) ............................................................................................24 2.1.4 Cắt theo mức (Intensity Level Slicing) .......................................................................................24 2.1.5 Trích chọn bit (Bit Extraction) ....................................................................................................25 2.1.6 Trừ ảnh ........................................................................................................................................26 2.1.7 Nén dải độ sáng ...........................................................................................................................26 2.1.8 Mô hình hóa và biến đổi lược đồ xám .........................................................................................26 2.2 Cải thiện ảnh dùng toán tử không gian...............................................................................................27 2.2.1 Làm trơn nhiễu bằng lọc tuyến tính: lọc trung bình và lọc dải thông thấp..................................28 2.2.2 Làm trơn nhiễu bằng lọc phi tuyến..............................................................................................30 2.2.3 Mặt lạ gờ sai phân và làm nhẵn ...................................................................................................32 2.2.4 Lọc thông thấp, thông cao và lọc dải thông ................................................................................32 2.2.5 Khuyếch đại và nội suy ...............................................................................................................33 2.2.6 Một số kỹ thuật cải thiện ảnh nhị phân .......................................................................................35 2.3 Khôi phục ảnh ....................................................................................................................................36 2.3.1 Các mô hình quan sát và tạo ảnh .................................................................................................38 2.3.2 Các bộ lọc ....................................................................................................................................40 CHƯƠNG 3 – TRIỂN KHAI CHƯƠNG TRÌNH VÀ KẾT QUẢ ..............................................................43 3.1 Cài đặt và tích hợp thư viện OpenCV vào Microsoft Visual Studio ..................................................43 3.2 Triển khai chương trình ......................................................................................................................45 3.2.1 Xử lý phông nền chứng minh thư................................................................................................45 3.2.2 Xử lý đường kẻ ô trong văn bản ..................................................................................................46 3.2.3 Xử lý tăng DPI cho văn bản ........................................................................................................47 3.3 Mã chương trình .................................................................................................................................48 3.3.1 Đưa ảnh màu về đa mức xám ......................................................................................................48 3.3.2 Tăng độ nét ..................................................................................................................................49 3.3.3 Tăng độ sáng ...............................................................................................................................51 3.3.4 Tăng độ tương phản ....................................................................................................................53 3.3.5 Loại bỏ phông nền .......................................................................................................................54 3.3.6 Loại bỏ nhiễu...............................................................................................................................56 3.3.7 Tăng DPI .....................................................................................................................................58 3.3.8 Xóa đường kẻ ô ...........................................................................................................................59 3.4 Hình ảnh triển khai chương trình .......................................................................................................62 5 CHƯƠNG 4 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...........................................................................64 4.1 Kết luận ..............................................................................................................................................64 4.2 Hướng phát triển ................................................................................................................................64 TÀI LIỆU THAM KHẢO ............................................................................................................................65 6 BẢNG KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT Ký hiệu OCR Ý nghĩa Optical Character Recognition Nhận dạng ký tự bằng quang học BSD Berkeley Software Distribution 7 MỞ ĐẦU Sự cấp thiết của đề tài Xử lý ảnh là lĩnh vực mà ngày nay được phát triển và ứng dụng rất rộng rãi trong nhiều lĩnh vực khác nhau nhờ vào sự phát triển ngày càng mạnh mẽ của các hệ thống máy tính, các thuật toán và công trình nghiên cứu khác nhau của nhiều nhà khoa học trên thế giới. Ở Việt Nam, các ứng dụng về xử lý ảnh đã bước đầu được triển khai trên một số lĩnh vực như lắp đặt hệ thống nhận dạng biển số xe, nhận dạng vân tay, … Môn học xử lý ảnh ở các trường đại học được xem là môn học bắt buộc ở một số ngành như công nghệ thông tin, điện tử viễn thông, … Tuy nhiên nhìn một cách tổng quan thì số lượng các ứng dụng được triển khai trên thực tế vẫn là quá ít, lĩnh vực này sẽ còn phát triển mạnh mẽ trong tương lai nếu được quan tâm một cách nghiêm túc. Một trong những ứng dụng phổ biến hiện nay liên quan mật thiết với xử lý ảnh đó là nhận dạng ký tự quang học – OCR. Các chương trình hỗ trợ OCR hiện nay có thể nhận dạng được ký với tỷ lệ trên 90% đối với ảnh có chất lượng nét và font chữ thông dụng. Đối với hình ảnh chất lượng thấp, font chữ đặc biệt, chữ viết tay hoặc có phông nền phức tạp thì kết quả cho ra không mấy khả quan, hầu như không nhận dạng được. Với sự phát triển mạnh mẽ của công nghệ, ngày càng có nhiều yêu cầu cao hơn trong các ứng dụng liên quan đến nhận dạng ký tự quang học, yêu cầu nhận dạng chính xác hơn, nhanh hơn. Nội dung của luận văn Với mục đích như trên luận văn có những nội dung như sau: - Luận văn tổng hợp lý thuyết về xử lý ảnh – giải pháp nâng cao chất lượng hình ảnh phục vụ cho nhận dạng, cụ thể ở đây là nhận dạng tiếng Việt. - Luận văn mô tả một số phương pháp xử lý ảnh. Nền tảng lý thuyết này sẽ được triển khai thử nghiệm trong luận văn này. 8 - Luận văn đã mô tả từng bước triển khai xử lý ảnh, đưa ra kết quả sau khi xử lý. Cấu trúc luận văn Với mục tiêu xây dựng ứng dụng tiền xử lý ảnh phục vụ cho nhận dạng, luận văn được chia làm bốn chương: Chương 1: Tổng quan về tiền xử lý ảnh và thư viện OpenCV Chương này giới thiệu về các khái niệm trong xử lý ảnh, giới thiệu qua về thư viện xử lý ảnh OpenCV. Chương 2: Một số phương pháp tiền xử lý nâng cao chất lượng ảnh Từ các khái niệm xử lý ảnh được đưa ra ở Chương I, chương này giới thiệu một số phương pháp tiền xử lý ảnh như: nhị phân hóa, tăng cường độ sáng, tăng cường độ tương phản, loại bỏ phông nền, khử nhiễu, … Chương 3: Triển khai chương trình và kết quả Chương này giới thiệu về chương trình đã được triển khai, các bước thực hiện và các kết quả của mỗi bước đạt được. Chương 4: Kết luận và hướng phát triển Chương này tôi tổng kết lại các kết quả và các đóng góp mà việc thực hiện đề tài đem lại. Ngoài ra, tôi cũng đề xuất các phương hướng nghiên cứu tiếp theo, nhằm giúp cho đề tài trở lên hoàn thiện hơn. 9 CHƯƠNG 1 – TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ THƯ VIỆN OPENCV 1.1 Giới thiệu về xử lý ảnh Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó. Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác. Đầu tiên phải kể đến Xử lý tín hiệu số - một môn học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tính chập, các biến đổi Fourier, Laplace, các bộ lọc … Thứ hai, các công cụ như Đại số tuyến tính, Xác xuất, thống kê. Một số kiến thức cần thiết khác như Trí tuệ nhân tạo, mạng noron nhân tạo cũng được đề cập đến trong quá trình phân tích và đặc biệt là nhận dạng – OCR. Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ London đến New York từ những năm 1920. Vấn đề nâng cao chất lượng ảnh có liên quan tới cân bằng sáng và độ phân giải của ảnh. Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955. Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh số thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng. Các phương pháp tri thức nhân tạo như mạng noron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được ấp dụng rộng rãi và thu nhiều kết quả khả quan. Về cơ bản, các bước cần thiết trong xử lý ảnh bao gồm: 10 Đầu tiên ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh, scan, …). Trước đây, các tấm ảnh thu được qua máy chụp hình với phim âm bản, không có tác dụng trong xử lý ảnh. Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó được chuyển trực triếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo – máy ảnh số, chụp qua điện thoại … là những ví dụ gần gũi. Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh, có thể quét từ ảnh chụp bằng máy quét ảnh. Hình 1.1 dưới dây mô tả các bước cơ bản trong xử lý ảnh. Thu nhận ảnh Tiền xử lý ảnh Phân đoạn ảnh Biểu diễn và mô tả Nhận dạng và nội suy Cơ sở tri thức Hình 1.1 Các bước cơ bản trong xử lý ảnh 1.1.1 Phần thu nhận ảnh Ảnh có thể nhận qua camera màu hoặc đen trắng. Camera thường dùng loại là loại quét dòng, ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh). 1.1.2 Tiền xử lý Sau bộ thu nhận, ảnh có thể nhiễu, độ tương phản thấp nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng. Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn. 11 1.1.3 Phân đoạn ảnh (phân vùng ảnh) Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng. Đây là phần phức tạp và khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này. 1.1.4 Biểu diễn và mô tả Đầu ra ảnh sau phân đoạn chưa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lân cận. Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính. 1.1.5 Nhận dạng và nội suy Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học (được lưu) từ trước, hoặc phương pháp khác như invariant – là một phương pháp mới đang được nghiên cứu trong nhận dạng. Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng. 1.1.6 Cơ sở tri thức Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, tương phản, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu. Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theo cách của con người. Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo phương pháp trí tuệ con người. 12 Cảnh quan Thu ảnh Nén ảnh Truyền ảnh Lưu ảnh Ảnh được cải tiến Trích chọn đặc trưng Nâng chất lượng ảnh Số hóa Phân đoạn Ảnh số Khôi phục ảnh Ảnh tương tự Thu nhận ảnh Trích chọn quan hệ Phân tích thống kê – cấu trúc Mô tả và nội suy Xử lý ảnh Nhận dạng – biểu diễn Hình 1.2 Quá trình xử lý ảnh 1.2Những vấn đề cơ bản trong hệ thống xử lý ảnh 1.2.1 Điểm ảnh Ảnh gốc (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng. Để xử lý bằng máy tính (số), ảnh cần phải được số hóa. Số hóa ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám). Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng. Mỗi một điểm như vậy gọi là điểm ảnh, hay được gọi tắt là Pixel. Trong ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x,y). Định nghĩa: Điểm ảnh (Pixel) là một phần tử của ảnh số tại tọa độ (x,y) với độ xám hoặc màu nhất định. Kích thước và khoảnh cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật. Mỗi phần tử trong ma trận được gọi là một phần tử ảnh. 13 1.2.2 Độ phân giải của ảnh Định nghĩa: Độ phân giải của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị. Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người thấy được sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải và được phân bố theo trục x và y trong không gian hai chiều. 1.2.3 Mức xám của ảnh Mỗi điểm ảnh (pixel) có hai đặc trưng cơ bản là vị trí và độ xám. Định nghĩa: Mức xám của điểm ảnh là cường độ ánh sáng của nó được gán bằng giá trị số tại điểm đó. Các giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ dụng vì trong kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: 28 = 256 mức, từ 0 đến 255). Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau. Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng, phân biệt tức là dùng 1 bit mô tả, 21 mức xám. Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1. Ảnh màu: trong khuôn khổ lý thuyết ba màu (RGB) để tạo nên thế giới màu, người ta dùng 3 byte mô tả mức màu, khi đó các giá trị màu: 28*3 = 224 ~ 16 triệu màu. 1.2.4 Định nghĩa ảnh số Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật. 14 1.2.5 Mối liên hệ giữa các điểm ảnh Một ảnh số giả sử được biểu diễn bằng hàm f(x,y). Tập con các điểm ảnh là S, cặp điểm ảnh có quan hệ với nhau ký hiệu là p, q. Chúng ta có các khái niệm sau: - Các lân cận của điểm ảnh - Các mối liên kết điểm ảnh: liên kết 4, 8, liên kết m – liên kết hỗn hợp. - Khoảng cách giữa các điểm ảnh Bộ nhớ Đầu đo Bộ số hóa Máy tính số Bộ hiển thị Hình 1.3 Các thành phần chính của hệ thống xử lý ảnh Ảnh mức xám được áp dụng trong nhiều lĩnh vực như sinh vật học hoặc trong công nghiệp. Thực tế chỉ ra rằng bất kỳ ứng dụng nào trên ảnh, mức xám cũng ứng dụng được trên ảnh màu. Với lý do đó, hệ thống ban đầu nên chỉ bao gồm các thiết bị thu nhận và hiển thị ảnh đen trắng. 1.3Những vấn đề khác trong xử lý ảnh 1.3.1 Biến đổi ảnh Trong xử lý ảnh do số điểm ảnh lớn các tính toán nhiều (độ phức tạp tính toán cao) đòi hỏi dung lượng bộ nhớ lớn, thời gian tính toán. Các phương pháp khoa học kinh điển áp dụng cho xử lý ảnh hầu hết khó khả thi. Người ta sử dụng các phép toán tương đương hoặc biến đổi sang miền xử lý khác để dễ tính toán. Sau khi xử lý dễ dàng hơn được thực hiện, dùng biến đổi ngược để đưa về miền xác định ban đầu, các biến đổi thường gặp trong xử lý ảnh gồm: 15 - Biến đổi Fourier, Cosin, Sin - Biến đổi (mô tả) ảnh bằng tích chập, tích Kronecker - Các biến đổi khác như KL (Karhumen Loeve), Hadamard 1.3.2 Nén ảnh Ảnh dù ở dạng nào vẫn chiếm không gian nhớ rất lớn. Khi mô tả ảnh người ta đã đưa kỹ thuật nén ảnh vào. Các giai đoạn nén ảnh có thể chia ra thế hệ 1, thế hệ 2. Hiện nay, các chuẩn MPEG được dùng với ảnh đang phát huy hiệu quả. 1.4 Một số phương pháp biểu diễn ảnh 1.4.1 Mã loạt dài Phương pháp này hay dùng để biểu diễn cho vùng ảnh hay ảnh nhị phân. Một vùng ảnh R có thể biểu diễn đơn giản bởi một ma trận nhị phân: u(m,n) = 1 ℎ ( , ) (1.1) 0 ℎá Với cách biểu diễn trên một vùng ảnh hay ảnh nhị phân được xem như chuỗi 0 hay 1 đan xen. Các chuỗi này được gọi là mạch. Theo phương pháp này, mỗi mạch sẽ được biểu diễn bởi địa chỉ bắt đầu của mạch và chiều dài mạch theo dạng {, chiều dài}. 1.4.2 Mã xích Phương pháp này thường được dùng để biểu diễn biên của ảnh. Thay vì lưu trữ toàn bộ ảnh, người ta lưu trữ dãy các điểm ảnh như A, B … M. Theo phương pháp này, 8 hướng của vector nối 2 điểm biên liên tục được mã hóa. Khi đó ảnh được biểu diễn qua điểm ảnh bắt đầu A. Điều này được minh họa trong hình dưới đây: 16 Hình 1.4. Hướng các điểm biên và mã tương ứng: A11070110764545432 1.4.3 Mã tứ phân Theo phương pháp này, một vùng ảnh coi như bao kín một hình chữ nhật. Vùng này được chia làm 4 vùng con (Quadrant). Nếu 1 vùng con gồm toàn điểm đen (1) hay toàn điểm trắng (0) thì không cần chia tiếp. Trong trường hợp ngược lại, vùng con gồm cả điểm đen và điểm trắng gọi là vùng không đồng nhất, ta tiếp tục chia thành 4 vùng con tiếp và kiểm tra tính đồng nhất của các vùng con đó. Quá trình chia dừng lại khi mỗi vùng con chỉ chứa thuần nhất điểm đen hoặc điểm trắng. Quá trình đó tạo thành một cây chia theo bốn phần gọi là cây tứ phân. Như vậy, cây biểu diễn ảnh gồm một chuỗi các ký hiệu b (black), w (white) và g (grey) kèm theo ký hiệu mã hóa 4 vùng con. Biểu diễn theo phương pháp này ưu việt hơn so với các phương pháp trên, nhất là so với mã loạt dài. Tuy nhiên, để tính toán số đo các hình như chu vi, mô men là tương đối khó khăn. 1.5 Thư viện OpenCV 1.5.1 Tổng quan OpenCV (Open Source Computer Vision) là một thư viện mã nguồn mở về thị giác máy với hơn 500 hàm và hơn 2500 các thuật toán đã được tối ưu về xử lý ảnh, và các vấn đề liên quan tới thị giác máy. OpenCV được thiết kế một cách tối ưu, sử dụng tối đa sức mạnh của các dòng chip đa lõi … để thực hiện các phép tính toán trong thời gian thực, nghĩa là tốc độ đáp ứng của nó có thể đủ nhanh cho các ứng dụng thông thường. Thư viện OpenCV được viết trên nền tảng C++, C, Python và Java để có thể chạy được trên nhiều nền tảng khác nhau, nghĩa là có thể chạy trên hệ điều hành Window, Linux, Mac, iOS, Android. Việc sử dụng thư viện OpenCV tuân theo quy 17 định về sử dụng phần mềm mã nguồn mở BSD, có thể sử dụng thư viện này một cách miễn phí cho cả mục đích phi thương mại lẫn thương mại. Trên thế giới hiện nay, ước tính cộng đồng sử dụng OpenCV có khoảng hơn 47 nghìn người và số lượt tải về hơn 9 triệu. 1.5.2 Những điểm đặc trưng OpenCV có rất nhiều chức năng. Sau đây là những tóm tắt cơ bản về hệ thống, các chức năng, hàm trong OpenCV: - Image and Video I/O Những giao diện này sẽ giúp đọc được dữ liệu ảnh từ file hoặc trực tiếp từ video. Cũng có thể tạo các file ảnh hoặc video với giao diện này. - Thị giác máy và các thuật toán xử lý ảnh (General computer – vision and image – processing algorithms(mid – and low level APIs)) Sử dụng những giao diện này, có thể thực hành với rất nhiều chuẩn thị giác máy tính mà không cần phải biết mã nguồn của chúng. - Module thị giác máy ở cấp độ cao OpenCV gồm một vài tác dụng ở cấp độ cao. Thêm vào nhận dạng mặt, dò tìm, theo dõi. Nó bao gồm luồng thị giác (sử dụng camera di động để xác định cấu trúc 3D), kích cỡ camera và âm thanh nổi. - AI and machine – learning Các ứng dụng của thị giác máy thường yêu cầu máy phải học (machine learning) hoặc các hình thức trí tuệ nhân tạo khác. Một vài trong số chúng có sẵn trong OpenCV. - Lấy mẫu ảnh và các phép biến đổi 18 Nó thường rất tốt cho quá trình xử lý một nhóm phần tử ảnh như là đơn vị. OpenCV bao gồm lấy tách ra, lấy ngẫu nhiên, phục chế, xoay ảnh, làm cong ảnh (warping), thay đổi hiệu ứng của ảnh. - Cách thức tạo và phân tích ảnh nhị phân Ảnh nhị phân thường xuyên được sử dụng trong các hệ thống kiểm tra có khuyết điểm hình dạng hoặc các bộ phận quan trọng. Sự biểu diễn ảnh cũng rất thuận tiện khi chúng ta biết rõ vật thể cần bắt. - Cách thức cho tính toán thông tin 3D (method for computin 3D information) Những hàm này rất có ích khi cần sắp xếp và xác định với một khối lập thể (with a stereo rig) hoặc với không gian nhìn phức tạp (multiple views) từ một camera riêng. - Các phép toán cho xử lý ảnh, thị giác máy và biểu diễn ảnh (image interpretation) OpenCV sử dụng các phép toán phổ biến như: đại số học, thống kê và hình học. - Đồ họa Những giao diện này giúp bạn viết chữ và vẽ trên hình ảnh. Thêm vào đó những chức năng này sử dụng nhiều trong ghi nhãn và đánh dấu. - Phương thức GUI OpenCV bao gồm cửa sổ giao diện của chính bản thân nó. Trong khi đó những giao diện này được so sánh giới hạn với khả năng có thể thực hiện trong mỗi môi trường. Chúng cung cấp những môi trường API đa phương tiện và đơn giản để hiển thị hình ảnh, cho phép người dùng nhập dữ liệu thông qua chuột, bàn phím và điều khiển quá trình. - Cấu trúc dữ liệu và giải thuật
- Xem thêm -