Đồ án Tìm hiểu một số kỹ thuật nâng cao chất lượng ảnh và ứng dụng - Trần Thị Phượng
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Tìm hiểu một số kỹ thuật nâng cao chất lượng ảnh và ứng dụng - Trần Thị Phượng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_tim_hieu_mot_so_ky_thuat_nang_cao_chat_luong_anh_va_un.pdf
Nội dung text: Đồ án Tìm hiểu một số kỹ thuật nâng cao chất lượng ảnh và ứng dụng - Trần Thị Phượng
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP MỤC LỤC MỤC LỤC 1 DANH MỤC ẢNH 3 LỜI CẢM ƠN 4 LỜI MỞ ĐẦU 5 CHƢƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH 6 1.1 Tổng quan về một hệ thống xử lý ảnh 6 1.2 Một số vấn đề trong xử lý ảnh 7 1.2.1 Các khái niệm cơ bản 7 1.2.2 Biểu diễn ảnh 8 1.2.3 Biến đổi ảnh (Image Transform) 8 1.2.4 Phân tích ảnh 8 1.2.5 Nhận dạng ảnh 9 1.2.6 Nén ảnh 9 CHƢƠNG 2: MỘT SỐ KỸ THUẬT TIỀN XỬ LÝ ẢNH 10 2.1 Kỹ thuật nâng cấp ảnh 10 2.1.1 Toán tử điểm 10 2.1.2 Toán tử không gian 11 2.2 Một số kỹ thuật lọc nhiễu 11 2.2.1 Kỹ thuật lọc trung bình 11 2.2.2 Kỹ thuật lọc trung vị 13 2.2.3 Lọc thông thấp 13 2.2.4 Lọc thông cao 14 2.3 Kỹ thuật phân ngưỡng 15 2.3.1 Kỹ thuật phân ngưỡng tự động 15 2.3.2 Phương pháp sử dụng các điểm biên 15 2.4 Một số kĩ thuật phát hiện biên 16 2.4.1 Kỹ thuật gradient 16 2.4.2 Kỹ thuật laplace 17 2.4.3 Kỹ thuật sobel 18 2.4.4 Kỹ thuật prewitt 19 2.5 Đường thẳng hough 19 2.5.1 Biến đổi hough trên đường thẳng 19 Sv: Trần Thị Phượng – CT1002 1
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP 2.5.2 Đường thẳng hough trong tọa độ cực 19 2.6 Các phép toán hình thái học 20 2.6.1 Phép toán hình thái với ảnh nhị phân 20 2.6.2 Phép toán hình thái với ảnh đa mức xám 20 CHƢƠNG 3: NHẬN DẠNG PHIẾU KẾT QUẢ THI TOEIC 22 3.1 Phát biểu bài toán 22 3.2 Tiền xử lý phiếu kết quả 24 3.2.1 Phân ngưỡng 24 3.2.2 Lọc nhiễu 26 3.2.3 Tìm biên 27 3.2.4 Xác định góc nghiêng và xoay ảnh 29 3.3 Nhận dạng phiếu kết quả thi TOEIC 31 3.3.1 Vẽ histogram 31 3.3.2 Nhận dạng khung 31 3.3.3 Tách dòng 32 3.3.4 Tách cột 32 3.3.5 Tách ô và nhận dạng ô 32 CHƢƠNG 4: KẾT QUẢ THỰC NGHIỆM 34 4.1 Thực nghiệm tiền xử lý ảnh 34 4.1.1 Thực nghiệm lọc nhiễu 34 4.1.2 Thực nghiệm xoay ảnh 36 4.2 Các thực nghiệm nhận dạng phiếu kết quả 38 4.2.1 Thực nghiệm nhận dạng khung 38 4.2.2 Thực nghiệm tách dòng 38 4.2.3 Thực nghiệm tách ô và nhận dạng ô 39 CHƢƠNG 5: KẾT LUẬN 40 5.1 Các kết quả đã đạt được 40 5.2 Những tồn tại và hướng phát triển 40 TÀI LIỆU THAM KHẢO 41 Sv: Trần Thị Phượng – CT1002 2
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP DANH MỤC ẢNH Hình 1.1.1 Các giai đoạn chính trong xử lý ảnh 6 Hình 2.2.1 Mô tả thuật toán lọc trung bình 12 Hình 2.2.2 Mô hình lọc thông cao 14 Hình 3.1.1 Mẫu phiếu thi TOEIC 23 Hình 3.2.1 Phiếu kết quả thi TOEIC trước khi phân ngưỡng 25 Hình 3.2.2 Phiếu kết quả thi TOEIC sau khi phân ngưỡng 26 Hình 3.2.3 Mô hình tính của phương pháp canny 28 Hình 3.2.4 Phiếu kết quả thi TOEIC sau khi tìm biên 29 Hình 3.3.1 Histogram theo ox cho khung trả lời 31 Hình 3.3.2 Histogram theo oy cho khung trả lời 31 Hình 4.1.1 ảnh phiếu kết quả trước khi lọc nhiễu làm mịn 34 Hình 4.1.2 Ảnh phiếu kết quả sau khi phân ngưỡng và lọc nhiễu 35 Hình 4.1.3 Phiếu kết quả trước khi xoay lại 36 Hình 4.1.4 Phiếu kết quả sau khi xoay ảnh 37 Hình 4.2.1 Xác định khung cho phiếu kết quả 38 Hình 4.2.2 Xác định dòng cho khung số báo danh và mã đề thi 38 Hình 4.2.3 Xác định dòng cho khung trả lời 39 Hình 4.2.4 Xác định ô cho khung số báo danh và mã đề thi 39 Hình 4.2.5 Xác định ô cho khung trả lời 39 Sv: Trần Thị Phượng – CT1002 3
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP LỜI CẢM ƠN Em xin chân thành cảm ơn Thầy giáo, Thạc sĩ Ngô Trường Giang, người đã hướng dẫn tận tình chỉ bảo em rất nhiều trong suốt quá trình tìm hiểu nghiên cứu và hoàn thành đồ án này từ lý thuyết đến ứng dụng. Sự hướng dẫn của thầy đã giúp em có thêm kiến thức về lập trình và kiến thức về xử lý ảnh. Đồng thời em xin chân thành cám ơn các thầy cô trong khoa Công nghệ thông tin- Trường Đại Học Dân Lập Hải Phòng, cũng như các thầy cô trong trường đã trang bị cho em những kiến thức cơ bản cần thiết trong suốt thời gian học tập tại trường để em hoàn thành tốt đồ án này. Trong quá trình học cũng như trong suốt thời gian làm tốt nghiệp không tránh khỏi những thiếu sót, em rất mong được sự góp ý quý báu của các thầy cô cũng như tất cả các bạn để kết quả của em được hoàn thiện hơn. Sau cùng, em xin gửi lời cảm ơn đến gia đình bạn bè đã tạo mọi điều kiện để em xây dựng thành công đồ án này. Em xin chân thành cảm ơn! Hải Phòng, ngày tháng năm 2010 Sinh viên Trần Thị Phượng Sv: Trần Thị Phượng – CT1002 4
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP LỜI MỞ ĐẦU Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là 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 cho nó. Trong các thông tin con người thu nhận từ bên ngoài có đến hơn 80% là thu nhận bằng mắt có nghĩa là dưới dạng ảnh. Vì vậy xử lý ảnh là một ngành khoa học sẽ được phát triển mạnh và được áp dụng rộng rãi trong các ngành khoa học khác và đời sống thực tiễn. Nhận dạng là một trong những phần quan trọng của xử lý ảnh và cũng được ứng dụng hiệu quả trong nhiều lĩnh vực khác như y tế, quốc phòng, nghiên cứu. Hiện nay trong thực tế đã và đang có nhiều sản phẩm thương mại cho phép nhận dạng như: Nhận dạng kết quả điều tra, nhận dạng khuôn mặt, tự động chấm thi Nhưng các sản phẩm đó có tính chuyên dụng và đặc thù cao nên khó có thể áp dụng đồng thời cho nhiều mục đích khác nhau. Do đó đồ án nghiên cứu việc tiền xử lý và nhận dạng phiếu kết quả thi TOEIC của trường ĐH Dân Lập Hải Phòng. Từ đó xây dựng hệ thống tổ chức chấm và vào điểm một cách tự động trong trường ĐH Dân Lập Hải Phòng. Cấu trúc của đồ án như sau: Chương 1: Tổng quan về xử lý ảnh. Chương 2: Một số kỹ thuật tiền xử lý ảnh. Chương 3: Nhận dạng phiếu kết quả thi TOEIC. Chương 4: Kết quả thực nghiệm. Chương 5: Kết luận. Sv: Trần Thị Phượng – CT1002 5
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP CHƢƠNG 1: TỔNG QUAN VỀ XỬ LÝ ẢNH 1.1 Tổng quan về một hệ thống xử lý ảnh Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá trình biến đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn của người sử dụng. Xử lý ảnh có thể gồm quá trình phân tích, phân lớp các đối tượng, làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên dịch các thông tin hình ảnh của ảnh. Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học ứng dụng. Xử lý dữ liệu bằng đồ hoạ đề cập đến những ảnh nhân tạo, các ảnh này được xem xét như là một cấu trúc dữ liệu và được tạo ra bởi các chương trình. Xử lý ảnh số bao gồm các phương pháp và kĩ thuật để biến đổi, để truyền tải hoặc mã hoá các ảnh tự nhiên. Mục đích của xử lý ảnh gồm: Biến đổi ảnh, làm tăng chất lượng ảnh. Tự động nhận dạng, đoán nhận, đánh giá các nội dung của ảnh. Các bước cần thiết trong xử lý ảnh: CAMERA Lƣu trữ Thu nhận Số hóa Phân tích Nhận dạng ảnh ảnh ảnh SCANNER Hệ Q.định Lƣu trữ Hình 1.1.1 Các giai đoạn chính trong xử lý ảnh Trước hết là quá trình thu nhận ảnh. Ảnh có thể thu nhận được qua camera. Thường khi thu nhận ảnh qua camera là tín hiệu tương tự (loại camera ống kiểu CCIR), nhưng cũng có thể là tín hiệu số hóa (loại CCD- Charge Coupled Device). Ảnh cũng có thể thu nhận từ vệ tinh qua các bộ cảm ứng (sensor), hay ảnh tranh được quét Sv: Trần Thị Phượng – CT1002 6
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP trên scanner. Tiếp theo là quá trình số hóa (Digitalizer) để biến đổi tín hiệu tương tự sang tín hiệu rời rạc (lấy mẫu) và số hóa bằng lượng hóa, trước khi chuyển sang giai đoạn xử lý, phân tích hay lưu trữ lại. Trước hết là công việc tăng cường ảnh để nâng cao chất lượng ảnh. Do những nguyên nhân khác nhau: có thể do chất lượng thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu, ảnh có thể bị suy biến do vậy cần phải tăng cường và khôi phục lại ảnh để làm nổi bật một số đặc tính chính của ảnh, hay làm cho ảnh gần giống nhất với trạng thái gốc – trạng thái trước khi bị biến dạng. Giai đoạn tiếp theo là phát hiện các đặc tính như biên, phân vùng ảnh, trích chọn các đặc tính v.v Cuối cùng tùy theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng, phân lớp hay các quyết định khác. 1.2 Một số vấn đề trong xử lý ảnh 1.2.1 Các khái niệm cơ bản Phần tử ảnh (Pixel -Picture Element). Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng. Để có thể xử lý bằng máy tính cần thiết phải tiến hành số hóa ảnh. Trong quá trình số hóa người ta biến đổi từ tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng hóa thành phần về giá trị mà về nguyên tắc bằng mắt thường không phân biệt được hai điểm kề nhau. Trong quá trình này người ta sử dụng khái niệm Picture element mà ta quen gọi hay viết là Pixel. Vậy 1 ảnh là một tập hợp các pixel. Mức xám (Gray level) là kết quả sự mã hóa tương ứng với một cường độ sáng của mỗi điểm ảnh với một giá trị số - kết quả của quá trình lượng hóa. Cách mã hóa kinh điển thường dùng 16, 32 hay 64 mức. Mã hóa 256 mức là phổ dụng nhất do lý do kĩ thuật. Vì 28 = 256 (0,1, 255), nên với 256 mức, mỗi pixel sẽ được mã hóa bởi 8 bit. Độ phân giải (Resolation) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị. Ả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. Ảnh nhị phân là ảnh chỉ có hai mức xám 0 và 1. Sv: Trần Thị Phượng – CT1002 7
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Ảnh màu là ảnh số trong đó cường độ điểm ảnh là sự tổng hợp từ các màu tùy theo từng loại mà có cách biểu diễn khác nhau. Ảnh đa mức xám là ảnh có nhiều hơn hai mức xám. 1.2.2 Biểu diễn ảnh Trong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh là pixel. Nhìn chung có thể một hàm hai biến chứa các thông tin như biểu diễn của một ảnh. Các mô hình biểu diễn cho ta một mô tả logic hay định lượng các tính chất của hàm này. Trong biểu diễn ảnh cần chú ý đến tính trung thực hoặc các tiêu chuẩn “thông minh” để đo chất lượng ảnh hoặc tính hiệu quả của các kĩ thuật xử lý. Một số mô hình thường được dùng trong biểu diễn ảnh: mô hình bài toán, mô hình thống kê. Trong mô hình bài toán, ảnh hai chiều được biểu diễn nhờ các hàm hai biến trực giao gọi là các hàm cơ sở. Còn mô hình thống kê, một ảnh được coi như một phần tử của một tập hợp đặc trưng bởi các đại lượng như: kỳ vọng toán học, hiệp biến, phương sai, moment. 1.2.3 Biến đổi ảnh (Image Transform) Thuật ngữ biến đổi ảnh thường dùng để nói tới một lớp các ma trận đơn vị và các kĩ thuật dùng để biến đổi ảnh. Biến đổi ảnh nhằm làm giảm các nguyên nhân của ảnh để việc xử lý hiệu quả hơn. Như làm rõ hơn các thông tin mà ngời dùng quan tâm nhưng người dùng phải chấp nhận mất đi một số thông tin cần thiết. 1.2.4 Phân tích ảnh Phân tích ảnh liên quan đến việc xác định các độ đo định lượng của 1 ảnh để đưa ra một mô tả đầy đủ về ảnh. Quá trình phân tích ảnh thực chất bao gồm nhiều công đoạn nhỏ. Trước hết là công việc tăng cường ảnh để nâng cao chất lượng ảnh, giai đoạn tiếp theo là phát hiện các đặc tính như phát hiện biên, phân vùng ảnh, trích chọn các đặc tính v.v 1.2.4.1 Tăng cƣờng ảnh – khôi phục ảnh Tăng cường ảnh là một bước quan trọng, tạo tiền đề cho xử lý ảnh. Nó gồm các Sv: Trần Thị Phượng – CT1002 8
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP kỹ thuật như: lọc độ tương phản, khử nhiễu, nổi màu Khôi phục ảnh là nhằm loại bỏ các suy giảm trong ảnh. 1.2.4.2 Biên Biên là vấn đề chủ yếu trong phân tích ảnh vì các điểm trích chọn trong quá trình phân tích ảnh đều dựa vào biên. Mỗi điểm ảnh có thể là biên nếu ở đó có sự thay đổi đột ngột về mức xám. Tập hợp các điểm biên tạo thành biên hay đường bao quanh của ảnh. 1.2.4.3 Phân vùng Phân vùng là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm phân tích ảnh thành những thành phần có tính chất nào đó dựa theo biên hay các vùng liên thông. Tiêu chuẩn để xác định các vùng liên thông có thể là mức xám, cùng màu hay độ tương phản. 1.2.5 Nhận dạng ảnh Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người ta muốn đặc tả nó. Quá trình nhận dạng thường đi sau quá trình trích chọn các đặc tính chủ yếu của đối tượng. Có hai kiểu mô tả đối tượng: Mô tả tham số (nhận dạng theo tham số). Mô tả theo cấu trúc (nhận dạng theo cấu trúc). Trên thực tế người ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiều đối tượng khác nhau như: nhận dạng ảnh vân tay, nhận dạng chữ viết. 1.2.6 Nén ảnh Dữ liệu ảnh cũng như các dữ liệu khác cần phải lưu trữ hay truyền đi trên mạng mà lượng thông tin để biểu diễn cho một ảnh là rất lớn. Do đó làm giảm lượng thông tin hay nén dữ liệu là một nhu cầu cần thiết. Nén dữ liệu là quá trình làm giảm lượng thông tin “ dư thừa” trong dữ liệu gốc và do vậy lượng thông tin thu được sau khi nén thường nhỏ hơn dữ liệu gốc rất nhiều. Sv: Trần Thị Phượng – CT1002 9
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP CHƢƠNG 2: MỘT SỐ KỸ THUẬT TIỀN XỬ LÝ ẢNH 2.1 Kỹ thuật nâng cấp ảnh Nâng cao chất lượng ảnh là một bước quan trọng, tạo tiền đề cho xử lý ảnh. Mục đích chính là làm nổi bật một số đặc tính của ảnh như thay đổi độ tương phản, lọc nhiễu, nổi biên, làm trơn biên ảnh Các thuật toán triển khai việc nâng cao chất lượng ảnh hầu hết dựa trên các kỹ thuật trên miền điểm, không gian và tần số. 2.1.1 Toán tử điểm Xử lý điểm ảnh thực chất là biến đổi giá trị của một điểm ảnh dựa vào giá trị của chính nó mà không dựa vào các điểm ảnh khác. Có hai cách tiếp cận với phương pháp này: Cách thứ nhất dùng một hàm biến đổi thích hợp với mục đích hoặc yêu cầu đặt ra để biến đổi giá trị mức xám của điểm ảnh sang một giá trị mức xám khác. Cách thứ hai là dùng lược đồ mức xám (Gray Histogram). Về mặt toán học, toán tử điểm là một ánh xạ từ giá trị cường độ ánh sáng u(m,n) tại tọa độ (m,n) sang giá trị cường độ ánh sáng khác v(m,n) thông qua hàm f(.) tức là: v(m,n) = f(u(m,n)) Ứng dụng chính của toán tử điểm là biến đổi độ tương phản của ảnh. Một số dạng toán tử điểm được giới thiệu như sau: 2.1.1.1 Kỹ thuật biến đổi âm bản O(m,n) = 255 – I(m,n ) Với O(m,n): Giá trị điểm ảnh đầu ra tại vị trí (m,n). I(m,n): Giá trị điểm ảnh đầu vào tại vị trí (m,n). 2.1.1.2 Kỹ thuật thay đổi độ xám O(m,n) = I(m,n) + C C = const, Cmax= 255 và Cmin= -255 Nếu C dương : Tăng độ sáng Sv: Trần Thị Phượng – CT1002 10
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Nếu C âm: Giảm độ sáng 2.1.1.3 Thay đổi độ tƣơng phản Trước tiên ta cần làm rõ khái niệm độ tương phản. Ảnh số là tập hợp các điểm, mà mỗi điểm có giá trị độ sáng khác nhau. Ở đây độ sáng để mắt người dễ cảm nhận ảnh song không phải là quyết định. Thực tế chỉ ra rằng hai đối tượng có cùng độ sáng nhưng đặt trên hai nền khác nhau sẽ cho cảm nhận khác nhau. Như vậy độ tương phản biểu diễn sự thay đổi độ sáng của đối tượng so với nền hay độ tương phản là độ nổi của điểm ảnh hay vùng ảnh so với nền. Với định nghĩa này nếu ảnh của ta có độ tương phản kém, ta có thể thay đổi tùy theo ý muốn. Ta có công thức thay đổi độ tương phản như sau: O(m,n) = a*I(m,n) + C 2.1.2 Toán tử không gian Đây là toán tử khi tác động vào điểm ảnh thì nó quan tâm tới các điểm lân cận. Toán tử được thực hiện thông qua một phép nhân chập và mẫu. Giả sử ta có ảnh I(x,y), một mẫu T(k,l), khi đó ảnh I nhân chập với mẫu T được định nghĩa như sau: K 1 L 1 I(x,y) T = I( x+k, y+l) T(k,l) k 0 l 0 2.2 Một số kỹ thuật lọc nhiễu 2.2.1 Kỹ thuật lọc trung bình Với lọc trung bình, mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận. Tư tưởng của thuật toán lọc trung bình: ta sử dụng một cửa sổ lọc (ma trận 3x3) quét qua lần lượt từng điểm ảnh của ảnh đầu vào input. Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3x3 của ảnh gốc "lấp" vào ma trận lọc. Giá trị điểm ảnh của ảnh đầu ra là giá trị trung bình của tất cả các điểm ảnh trong cửa sổ lọc. Việc tính toán này khá đơn giản với hai bước gồm tính tổng các thành phần trong cửa sổ lọc và sau đó chia tổng này cho số các phần tử của cửa sổ lọc. Sv: Trần Thị Phượng – CT1002 11
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Thuật toán: Ảnh đầu vào là I(x,y), T là ma trận mẫu. Tính I(x,y) T I(x,y) T Tính I (x,y) = trong đó M là tổng giá trị trọng số của T M So sánh với ngưỡng θ để tính lại I(x,y) như sau : I(x, y) if I(x, y) I (x, y) I(x,y)= I (x, y) if I(x, y) I (x, y) Thuật toán lọc trung bình được minh họa bởi hình vẽ sau: Hình 2.2.1 Mô tả thuật toán lọc trung bình Ví dụ minh họa: 1 2 3 2 4 16 2 1 Cho ảnh sau I= và ma trận mẫu như sau: 4 2 2 1 2 1 1 1 1 1 1 T= 1 1 1 thực hiện lọc trung bình với ngưỡng θ= 2 1 1 1 4 2 Sau khi thực hiện lọc trung bình ảnh kết quả là I= 2 2 Sv: Trần Thị Phượng – CT1002 12
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP 2.2.2 Kỹ thuật lọc trung vị Trung vị được viết bởi công thức: v(m,n) = Trungvi(y(m - k,n-l)) với (k,l) Є W Hoặc: cho một dãy x1, x2, xn được sắp xếp theo một trật tự khi đó xtv: điểm trung vị được tính như sau: n n ( ) ( 1) n 2 2 Xtv = X( 1) nếu n lẻ hoặc Xtv = nếu n chẵn. 2 2 Kỹ thuật này đòi hỏi các điểm ảnh trong cửa sổ phải xếp theo thứ tự tăng dần hay giảm dần so với giá trị trung vị. Kích thước cửa sổ thường được chọn sao cho số điểm ảnh trong cửa sổ ảnh là lẻ. Các cửa sổ thường dùng là 3x3, 5x5, 7x7. Thuật toán lọc trung vị: B1: với mỗi điểm ảnh I(x,y) ta lấy cửa sổ WxW B2: sắp xếp các giá trị điểm ảnh trong vòng cửa sổ theo một trật tự B3: tính Itv theo công thức ở trên B4: hiệu chỉnh lại I(x,y) I(x,y)= I(x,y) nếu (x,y) tv hoặc I(x,y)= Itv nếu (x,y) tv Lọc trung vị là phi tuyến vì: Trungvi(x(m)+y(m)) ≠ trungvi(x(m)) + trungvi(y(m)). Hữu ích cho việc loại bỏ các điểm ảnh hay các hàng mà vẫn bảo toàn độ phân giải. Hiệu quả giảm đi khi số điểm nhiễu trong cửa sổ lớn hơn hay bằng một nửa số điểm trong cửa sổ. 2.2.3 Lọc thông thấp Lọc thông thấp thường được sử dụng để làm trơn nhiễu. Trong kỹ thuật này người ta thường dùng một số nhân chập sau : Sv: Trần Thị Phượng – CT1002 13
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP 0 1 1 1 b 1 1 1 2 H = 1 2 1 H = b b b a 8 b (b 2)2 0 1 0 1 b 1 Ta dễ dàng nhận thấy khi b=1 Hb chính là nhân chập H1 (lọc trung bình). Để hiểu rõ hơn bản chất khử nhiễu cộng của các bộ lọc này, ta viết lại phương trình thu nhận ảnh dưới dạng: Xqs[m,n] = Xgoc[m,n] + η[m,n] 2 Trong đó η[m,n] là nhiễu cộng có phương sai n . Như vậy theo cách tính của lọc trung bình ta có: 1 Y(m,n) = X goc (m k, n l) m, n w (k,l) w 2 1 n Hay Y(m,n) = X goc (m k,n l) w (k,l) w N w Như vậy nhiễu trong ảnh giảm đi Nw lần. 2.2.4 Lọc thông cao Lọc thông cao được định nghĩa: hHP(m,n) = δ(m,n) – hLP(m,n) với hLP(m,n) là lọc thông thấp. Bộ lọc thông cao có thể được cài đặt như sau : u(m,n) v(m,n) Lọc thông thấp + Hình 2.2.2 Mô hình lọc thông cao Bộ lọc thông cao dùng trong trích chọn biên và làm trơn ảnh. Ta nhận thấy biên là điểm có độ biến thiên nhanh về giá trị mức xám. Theo quan điểm về tần số tín hiệu, như vậy các điểm biên ứng với các thành phần tần số cao. Do vậy ta có thể dùng bộ lọc thông cao để cải thiện: lọc các thành phần tần số thấp và chỉ giữ lại thành phần tần số cao. Vì thế lọc thông cao thường dùng làm trơn biên trước khi tiến hành các thao Sv: Trần Thị Phượng – CT1002 14
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP tác với biên ảnh. Một số mặt nạ dùng trong lọc thông cao 1 1 1 0 1 0 1 2 1 1 9 1 1 5 1 2 5 2 H1 = H2= H3= 1 1 1 0 1 0 1 2 1 Các nhân chập thông cao có đặc tính chung là tổng các hệ số của bộ lọc bằng 1. 2.3 Kỹ thuật phân ngƣỡng 2.3.1 Kỹ thuật phân ngƣỡng tự động Cơ sở của kỹ thuật này dựa theo nguyên lý trong vật lý. Dựa vào entropy (nguyên lý thống kê), dựa vào toán học, dựa vào các điểm cực trị địa phương để tách. - giả sử có ảnh I(MxN) - G là số mức xám của ảnh (trên lý thuyết). - Gọi t(g) là số điểm ảnh có mức xám ≤ g momen quán tính trung bình có mức xám nhỏ hơn hoặc bằng các mức xám g. 1 g M(g) = ih(i) t(g) i 0 g T(g) = H (i) i 0 Hàm f: g -> f(g) Hàm được tính như sau: t(g) 2 f(g) = [M (g) M (G 1)] MxN t(g) Tìm ra một giá trị θ nào đó sao cho f đạt max khi đó θ là ngưỡng cần tìm (f(θ) = max => θ là ngưỡng). 2.3.2 Phƣơng pháp sử dụng các điểm biên Điểm biên là điểm mà ở đó có sự thay đổi đột ngột về giá trị mức xám. Nó là Sv: Trần Thị Phượng – CT1002 15
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP điểm nằm ở biên giới của các đối tượng ảnh hay giữa các đối tượng ảnh và nền. Do mức xám của các điểm biên sẽ thể hiện được các vùng tốt hơn nên biểu đồ mức xám của các điểm biên sẽ cho kết quả chính xác hơn so với biểu đồ mức xám tổng thể. Việc xác định ngưỡng dựa trên toán tử dò biên vô hướng laplace. Ngưỡng được xác định trước hết bằng cách tính laplace của ảnh đầu vào. Cách đơn giản nhất là nhân chập với mặt nạ sau đây: 0 1 0 H = 1 4 1 0 1 0 Lúc này ta có một biểu đồ mức xám của ảnh ban đầu mà ta chỉ quan tâm tới các điểm ảnh có giá trị laplace lớn, những điểm ảnh trong nhóm 85% hoặc lớn hơn sẽ nằm trong biểu đồ này, còn các điểm khác thì không. Ngưỡng vừa sử dụng sẽ được tìm trong biểu đồ mức xám vừa tìm được. 2.4 Một số kĩ thuật phát hiện biên 2.4.1 Kỹ thuật gradient Phương pháp gradient là phương pháp dò biên cục bộ dựa vào cực đại của đạo hàm. Theo định nghĩa Gradient là một vecto có các thành phần biểu thị tốc độ thay đổi giá trị của điểm ảnh theo hai hướng x và y. Các thành phần của Gradient được tính bởi: 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 Với dx là khoảng cách giữa các điểm theo hướng x. dy là khoảng cách giữa các điểm theo hướng y. Trên thực tế thường hay dùng dx=dy=1. Với ảnh liên tục f(x,y), các đạo hàm riêng của nó cho phép xác định vị trí cực đại cục bộ theo hướng của biên. Gradient của một ảnh liên tục được biểu diễn bởi một Sv: Trần Thị Phượng – CT1002 16
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP hàm f(x,y) dọc theo r với góc θ, được định nghĩa bởi: df f dx f dy = f cosθ + f sinθ dr x dr x dr x y df đối với θ đạt cực đại khi (df/dθ)(df/dr)=0 hay –f sinθ + f cosθ =0. Do dr x y -1 vậy ta có thể xác định được hướng cực đại của nó là: θr = tan (fy/fx) và df 2 2 max fx fy dr 2.4.2 Kỹ thuật laplace Nhận xét: phương pháp xác định biên gradient làm việc khá tốt khi độ sáng thay đổi rõ nét, khi mức xám thay đổi chậm hoặc miền chuyển tiếp trải rộng thì phương pháp này tỏ ra kém hiệu quả khi đó người ta sử dụng phương pháp laplace để khắc phục nhược điểm này. Tư tưởng của nó là lấy đạo hàm bậc hai của các điểm. Toán tử laplace được định nghĩa như sau: 2 2 2 f f f (x, y) x 2 y 2 2 f f Trong đó ( ) ( f (x 1, y) f (x, y)) x 2 x x x 2 f f ( ) ( f (x, y 1) f (x, y)) y 2 y y y Ta có: 2 f (x, y) f (x 1, y) f (x 1, y) f (x, y 1) f (x, y 1) 4 f (x, y) Suy ra ta có mặt nạ sau: 0 1 0 1 4 1 H1 = 0 1 0 Sv: Trần Thị Phượng – CT1002 17
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Ngoài mặt nạ trên ta còn sử dụng các mặt nạ sau: 0 1 0 1 1 1 1 2 1 1 8 1 H2= 1 4 1 H3= H4= 2 4 2 0 1 0 1 1 1 1 2 1 Trong kỹ thuật lọc laplace, điểm biên được xác định bởi điểm cắt điểm không. Và điểm không là duy nhất do vậy kỹ thuật này cho dường biên mảnh, tức là đường biên có độ rộng 1 pixel. Kỹ thuật laplace rất nhạy cảm với nhiễu do đạo hàm bậc hai thường không ổn định. Trong opencv kĩ thuật này được viết với hàm : void cvLaplace( const CvArr* src, CvArr* dst, int aperture_size=3 ); Trong đó Src là ảnh gốc (ảnh nguồn). Dst là điểm đến hình ảnh. 2.4.3 Kỹ thuật sobel Trong kỹ thuật sobel người ta sử dụng hai mặt nạ sau : 1 0 1 1 2 1 2 0 2 0 0 0 S1= S2= 1 0 1 1 2 1 Thuật toán sobel gần giống thuật toán gradient. Thành phần x của toán tử sobel là Hx và thành phần y là Hy. Việc xét này tương đương với các thành phần của gradient và kết quả cho ra như sau: Ikq = I Hx + I Hy Kỹ thuật sobel trong opencv được viết bằng hàm: void cvSobel( const CvArr* src, CvArr* dst, int xorder, int yorder, int aperture_size=3 ); Trong đó: Src là ảnh gốc (ảnh đầu vào). Dst là ảnh đích (ảnh kết quả). Sv: Trần Thị Phượng – CT1002 18
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Aperture_size là kích thước ma trận mẫu 2.4.4 Kỹ thuật prewitt Toán tử Prewitt Sử dụng hai mặt nạ: 1 0 1 1 1 1 Hx= 1 0 1 Hy= 0 0 0 1 0 1 1 1 1 Giả sử ta có ảnh I, khi đó phương pháp gradient sử dụng toán tử Prewitt ta có ảnh kết quả như sau: Ikq = I Hx + I Hy 2.5 Đƣờng thẳng hough Hough: cho trước 1 điểm ảnh thì chúng ta sẽ xây dựng được đường thẳng thì đường thẳng đó gọi là đường thẳng hough. Ứng dụng: dùng để phát hiện ra góc nghiêng văn bản, phát hiện ra bảng biểu . 2.5.1 Biến đổi hough trên đƣờng thẳng Phương trình tổng quát của đường thẳng y=cx + m (1) với hệ số x,y và c là hệ số góc. Nếu có n điểm thỏa mãn điều kiện y = cxi+ m với i=1 n thì các điểm xi, yi sẽ nằm trên đường thẳng. 2.5.2 Đƣờng thẳng hough trong tọa độ cực Ta có phương trình sau: r= xcosφ +ysinφ Mảng A[x,φ], với mỗi điểm biên xi, yi ta vẽ đường thẳng trong không gian tham số r, φ như sau: r= xi cosφ + yi sinφ Thay vì putpixel(r, φ) ta tăng giá trị mảng A[r,φ] và tìm ra r0, φ0 sao cho A[r0,φ0] đạt max. Khi đó r0, φ0 là giá trị (tham số) để xác định đường thẳng x= r0 cos φ y= r0 sinφ Sv: Trần Thị Phượng – CT1002 19
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP 2.6 Các phép toán hình thái học Đây là một trong những kĩ thuật được áp dụng trong giai đoạn xử lý. Hai phép toán thường dùng là Dilation và Enosion hay còn gọi là phép co và giãn ảnh. Từ hai phép toán cơ bản này người ta phát triển thành một số phép toán như: đóng mở chúng được sử dụng rất nhiều để giảm các lỗi trong quá trình nhận dạng. Phép toán Dilation gọi là D(i): làm dầy Enosion gọi là E(i): làm gầy Cả một chu trình D-> E gọi là open và theo chu trình ngược lại là close. Các phép toán này thường ứng dụng trong nhận dạng ký tự và tách các đối tượng với nhau, nối liền nét đứt. 2.6.1 Phép toán hình thái với ảnh nhị phân Ảnh nhị phân biểu diễn dạng các giá trị 0 và 1 do đó có thể diễn biến dưới dạng tập hợp. 2.6.1.1 Kỹ thuật giãn ảnh Minskowsky I: ảnh nhị phân T: Ma trận mẫu D(I)= I T = (x i, y j) / x, y I; i, j T Kỹ thuật này tương đương với việc lấy một điểm có giá trị bằng 1 trong ma trận T làm gốc di chuyển T trên ảnh I nếu vị trí nào bằng 1 thì ta thay giá trị của nó bằng T. 2.6.1.2 Kỹ thuật co ảnh Tư tưởng lấy một phần tử bằng 1 trong ma trận T làm gốc khi chuyển T trên I tại vị trí nào mà trùng hoàn toàn thì ta đặt bằng 1 ngược lại đặt bằng 0. E(I)=I Θ T 2.6.2 Phép toán hình thái với ảnh đa mức xám I là một ảnh T là ảnh mẫu Sv: Trần Thị Phượng – CT1002 20
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Ta có ảnh sau: D(x,y)(I) = I T(x,y)= Max( I(x-i, y-j)) + T(i,j)) D(x,y)(I) = I Θ T(x,y)= Min( I(x+i, y+j)) - T(i,j)) ’ D(x,y)(I) = Max( I(x+i, y+j)) + T (i,j)) ’ Với T = Rot 180 (T) xoay ngược lại Trước khi thực hiện tính D(I) cho ảnh đa mức xám chúng ta phải thêm các giá trị bằng giá trị nhỏ nhất trong ảnh bằng bốn xung quanh với số dòng và số cột tùy thuộc vào kích thước của ma trận mẫu. Sv: Trần Thị Phượng – CT1002 21
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP CHƢƠNG 3: NHẬN DẠNG PHIẾU KẾT QUẢ THI TOEIC 3.1 Phát biểu bài toán Đối với việc tổ chức thi và thực hiện chấm thi TOEIC trong trường đại học theo quy trình sau. Đối với sinh viên đủ điều kiện thi TOEIC phòng đào tạo sẽ lên danh sách và sắp xếp tên các sinh viên theo một trật tự. Sau đó chuyển danh sách này cho cán bộ coi thi. Cán bộ coi thi sẽ dùng danh sách này để giám sát các sinh viên trong phòng thi. Các thí sinh khi vào phòng thi sẽ được phát phiếu trả lời trắc nghiệm và các sinh viên điền các thông tin của mình vào phiếu thi (phần ghi bằng bút mực) và tô các mã đề và số báo danh (theo quy định). Sau đó các sinh viên được phát bộ đề thi gồm 200 câu. Mỗi câu có nhiều lựa chọn các sinh viên lựa chọn rồi tô theo hướng dẫn của phiếu thi. Sv: Trần Thị Phượng – CT1002 22
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Hình 3.1.1 Mẫu phiếu thi TOEIC Sau khi làm bài xong thì cán bộ coi thi sẽ thu lại bộ đề và các phiếu trả lời nộp cho phòng đào tạo để thực hiện chấm điểm. Cách chấm thông thường nhất là cán bộ chấm thi sẽ chấm các bài thi của sinh viên theo đáp án có sẵn của từng bộ đề sau đó tính điểm tổng cho toàn bài. Sau khi chấm thi xong cán bộ chấm sẽ nộp bài cho phòng đào tạo vào điểm. Qua cách thi TOEIC và chấm điểm ta thấy mất nhiều thời gian và độ chính xác Sv: Trần Thị Phượng – CT1002 23
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP không cao, với đợt thi có nhiều bài thì không tránh khỏi nhầm lẫn. Công nghệ thông tin ngày nay phát triển không ngừng, chúng ta có thể áp dụng nó vào công việc chấm thi TOEIC một cách nhanh chóng và hiệu quả của nó cao hơn chấm thủ công và cũng giảm đi nhiều công sức cho giáo viên chấm thi. Trên cơ sở đó đề tài nghiên cứu việc chấm thi TOEIC một cách tự động. Từ đó xây dựng hệ thống chấm thi TOEIC và vào điểm thi một cách tự động. 3.2 Tiền xử lý phiếu kết quả Phiếu kết quả khi thực hiện scanner sẽ không tránh khỏi bị nghiêng, nhiễu do vậy chúng ta cần phải tiền xử lý trước khi nhận dạng. Và để thực hiện việc tiền xử lý đó chúng ta thực hiện một số kỹ thuật sau: 3.2.1 Phân ngƣỡng Phân ngưỡng là phương pháp định hướng điểm tập trung vào các tính chất của điểm ảnh khi quyết định xem một điểm ảnh có thuộc về đối tượng không. Tính chất đấy có thể là giá trị xám, màu hoặc một tính chất cục bộ nào đó. Để quyết định ta cần phải tìm một hoặc nhiều ngưỡng tối ưu do đó còn gọi là phương pháp phân ngưỡng. Phân ngưỡng là một phương pháp phân đoạn thông dụng nhằm biến một ảnh đa cấp xám thành ảnh nhị phân (chỉ có 2 màu đen và trắng). Quá trình biến đổi ảnh đa cấp xám thành ảnh nhị phân (hay còn gọi là quá trình nhị phân hóa). Với θ là ngưỡng, các điểm ảnh trên ngưỡng θ là đối tượng và các điểm ảnh dưới ngưỡng θ là điểm nền. Ta có công thức tổng quát cho quá trình nhị phân hóa như sau: 1 khi (x, y) I(x,y) = với 0 ≤ T ≤ 255 0 khi (x, y) Với I(x,y) là ảnh kết quả A(x,y) là ảnh nguồn Trong opencv kỹ thuật phân ngưỡng được sử dụng với hàm: cvThreshold(image03, image02, slider_pos, 255, CV_THRESH_BINARY); Sv: Trần Thị Phượng – CT1002 24
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Hình 3.2.1 Phiếu kết quả thi TOEIC trƣớc khi phân ngƣỡng Sv: Trần Thị Phượng – CT1002 25
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Hình 3.2.2 Phiếu kết quả thi TOEIC sau khi phân ngƣỡng 3.2.2 Lọc nhiễu Sau khi thực hiện phân ngưỡng ảnh thì xuất hiện nhiều nhiễu nên chúng ta thực hiện lọc nhiễu. Có rất nhiều phương pháp lọc nhiễu nhưng chúng ta sử dụng kỹ thuật lọc trung vị vì kỹ thuật lọc trung vị sau khi thực hiện lọc sẽ bảo toàn độ phân giải của ảnh. Trung vị được viết bởi công thức: V(m,n) = Trungvi(y(m - k,n-l)) với (k,l) Є W Hoặc: cho một dãy x1, x2, xn được sắp xếp theo một trật tự khi đó xtv : điểm trung vị được tính như sau: Sv: Trần Thị Phượng – CT1002 26
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP n n ( ) ( 1) n 2 2 Xtv = X( 1) nếu n lẻ hoặc Xtv = nếu n chẵn. 2 2 Kỹ thuật này đòi hỏi các điểm ảnh trong cửa sổ phải xếp theo thứ tự tăng dần hay giảm dần so với giá trị trung vị. Kích thước cửa sổ thường được chọn sao cho sao cho số điểm ảnh trong cửa sổ ảnh là lẻ. Các cửa sổ thường dùng là 3x3, 5x5, 7x7. 3.2.3 Tìm biên Chúng ta sử dụng phương pháp tìm biên canny dựa trên cặp đạo hàm riêng bậc nhất với việc làm sạch nhiễu. Đạo hàm của một ảnh được lọc: f (G I) f x f y với fx và fy là đạo hàm theo x và y của f. Do vậy: f (G I) x (G I) y (Gx I) (Gy I) (3.1) Lấy đạo hàm riêng theo x và y của G ta được: x x2 y 2 G (x, y) exp( ) (3.2) x 2 2 2 y x2 y2 G (x, y) exp( ) (3.3) y 2 2 2 Hơn nữa bộ lọc Gauss là tách được, do vậy ta có thể thực hiện riêng biệt các tích chập theo x và y: Gx (x, y) Gx (x) G(y) và Gy (x, y) Gy (y) G(x) (3.4) Từ (3.1) và (3.4)ta có: f x (x, y) Gx (x) G(y) I và f y (x, y) Gy (x) G(x) I (3.5) Với biên độ và hướng tính theo công thức (3.2) và (3.3). Thuật toán được minh họa theo hình sau: Sv: Trần Thị Phượng – CT1002 27
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP fx Arctan fy/fx I(x,y) f y 2 2 f x f y Hình 3.2.3 Mô hình tính của phƣơng pháp canny Kỹ thuật này được viết bởi hàm sau trong opencv: void cvCanny( const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size=3 ); Trong đó: image là ảnh đầu vào edges là ảnh đầu ra (ảnh kết quả). threshold1 là ngưỡng 1 threshold2 là ngưỡng 2 aperture_size là cỡ của ma trận mẫu. Sv: Trần Thị Phượng – CT1002 28
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Hình 3.2.4 Phiếu kết quả thi TOEIC sau khi tìm biên 3.2.4 Xác định góc nghiêng và xoay ảnh 3.2.4.1 Xác định góc nghiêng Phiếu kết quả sau khi scanner có thể bị nghiêng nên ta cần chỉnh lại góc nghiêng đó để việc nhận dạng được chính xác hơn. Trước khi xoay ảnh ta phải xác định được góc nghiêng của ảnh. Tư tưởng của phương pháp nhận dạng đường thẳng Hough là: với mỗi giá trị của các tham số r và θ, ta tính số tọa độ (x,y) thỏa mãn phương trình đường thẳng Hough và là điểm đen. Nếu số này lớn hơn một ngưỡng θ thì tập hợp các điểm đó có thể tạo nên một đường thẳng. Thuật toán tìm đường thẳng dựa trên phương trình đường thẳng Hough được mô tả dưới ngôn ngữ giả như sau: Sv: Trần Thị Phượng – CT1002 29
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP 2 2 for r = 0 to w h do ° for θ = 0 to 360 do { count = 0 ; for x = 0 to width do { Tính y; if (x, y) là điểm đen then count = count + 1 } if count > θ then thông báo có một đường thẳng ; } Trong đó w và h là chiều là độ rộng và chiều cao của ảnh. Biến count dùng để đếm số điểm đen tương ứng với mỗi r và θ. Nếu count lớn hơn một ngưỡng cho trước θ thì có một đường thẳng. Ưu điểm của thuật toán này là tìm được đường thẳng không liền nhau với độ chính xác cao. Với thuật toán này có thể xác định được góc nghiêng của đường thẳng. Từ đó biết được ảnh có nghiêng không và thực hiện bước tiếp theo là xoay ảnh. Trong opencv thì đường thẳng được xác định bởi hàm: lines = cvHoughLines2( dst2, storage, CV_HOUGH_STANDARD, 1, CV_PI/180, 180, 0, 0 ); 3.2.4.2 Xoay ảnh Sau khi xác định được góc nghiêng của phiếu kết quả. Để chỉnh sửa lại góc nghiêng đó ta quay lại ảnh với góc lệch đó. Thuật toán xoay ảnh thực chất là chuyển một điểm ảnh (x,y) từ vị trí ban đầu thành điểm ảnh mới có tọa độ (x1,y1) theo công thức: Sv: Trần Thị Phượng – CT1002 30
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP x1= x.cosφ + y.sinφ y1= y.sinφ – x.cosφ 3.3 Nhận dạng phiếu kết quả thi TOEIC 3.3.1 Vẽ histogram Trước khi nhận dạng được phiếu kết quả thi TOEIC chúng ta cần phải xác định được dòng và cột của phiếu kết quả từ đó nhận dạng ô. Để nhận dạng dòng và cột chúng ta vẽ histogram theo trục ox và oy từ đó nhận dạng khung. Sau khi thực hiện vẽ histogram theo trục ox, oy cho khung trả lời ta thu được hình vẽ như sau: Hình 3.3.1 Histogram theo ox cho khung trả lời Hình 3.3.2 Histogram theo oy cho khung trả lời 3.3.2 Nhận dạng khung Nhận dạng khung là bước tiếp theo sau khi vẽ histogram cho phiếu kết quả theo các trục, việc nhận dạng khung nhằm mục đích khoanh vùng các ô trả lời, số báo danh Sv: Trần Thị Phượng – CT1002 31
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP và mã đề thi. Nhận dạng khung là việc xác định tọa độ của góc trên bên trái, độ rộng, độ cao của khung. Các khung được nhận dạng lần lượt, nhưng ta có nhận xét rằng các cạnh trên và dưới của các khung cùng nằm trên một đường thẳng. Do đó để nhận dạng cạnh trên và dưới của khung ta sẽ tìm tọa độ (x,y) của khung sau đó dung hàm trong opencv để vẽ các cạnh của khung. 3.3.3 Tách dòng Để thực hiện tách dòng và nhận dạng dòng chúng ta thực hiện theo các bước sau: Bước 1: Vẽ biểu đồ mức xám theo trục oy của từng khung và lưu vào một mảng. Bước 2: Duyệt mảng vừa lưu histogram để tìm ra các tọa độ theo oy. Bước 3: Tính khoảng cách và xác định các dòng trong từng khung. Nhận xét sau khi vẽ Histogram theo trục oy thì tạo ra các đoạn thẳng cách nhau một khoảng trống bằng nhau. 3.3.4 Tách cột Để nhận dạng được ô ta phải nhận dạng được từng dòng và từng cột trong khung. Ở bước trên ta đã nhận dạng được dòng trong phần này chung ta tiếp tục nhận dạng từng cột trong khung. Để nhận dạng từng cột trong khung ta làm theo các bước sau: Bước 1: vẽ Histogram theo trục ox cho từng khung. Bước 2: duyệt mảng chứa Histogram theo ox. Bước 2: xác định tọa độ của từng cột (2 tọa độ). 3.3.5 Tách ô và nhận dạng ô Sau khi thực hiện tách dòng và tách cột tiếp tục chúng ta thực hiên tách ô và nhận dạng ô. Ô được chọn là ô có mật độ điểm đen nhiều nhất. Tư tưởng của phương pháp tách ô và nhận dạng ô như sau: Sv: Trần Thị Phượng – CT1002 32
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Bước 1: Duyệt mảng chứa tọa độ của cột, và dòng của khung để xác định tọa độ của ô. Bước 2: từ tọa độ cột và dòng vừa duyệt ở trên chúng ta xác định được ô. Bước 3: duyệt tất cả các ô trong một dòng, tìm số điểm đen trong từng ô của dòng. Bước 4: quét các ô trong một dòng, đến khi nào gặp ô chứa điểm đen lớn hơn ngưỡng θ. Nếu có thì ô đó được chọn ngược lại thì dòng đó không có ô được chọn. Bước 5: Nếu số ô nhỏ hơn số ô trong hàng thì quay lại bước 3 để tiếp tục nhận dạng, ngược lại thì kết thúc. Sv: Trần Thị Phượng – CT1002 33
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP CHƢƠNG 4: KẾT QUẢ THỰC NGHIỆM 4.1 Thực nghiệm tiền xử lý ảnh Phiếu kết quả sau khi được scanner để thực hiện nhận dạng thi có thể bị nhiễu, nghiêng Do vậy việc tiền xử lý trước khi nhận dạng là rất cần thiết. Sau đây là các kết quả của quá trình thực nghiệm tiền xử lý. 4.1.1 Thực nghiệm lọc nhiễu Hình 4.1.1 ảnh phiếu kết quả trƣớc khi lọc nhiễu làm mịn Sau khi thực hiện làm mịn ảnh ta thu được kết quả như sau: Sv: Trần Thị Phượng – CT1002 34
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Hình 4.1.2 Ảnh phiếu kết quả sau khi phân ngƣỡng và lọc nhiễu Sv: Trần Thị Phượng – CT1002 35
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP 4.1.2 Thực nghiệm xoay ảnh Để nhận dạng chính xác phiếu kết quả thi TOEIC chúng ta phải xoay xoay ảnh không còn nghiêng như khi scaner. Mẫu phiếu bị nghiêng khi scaner như sau: Hình 4.1.3 Phiếu kết quả trƣớc khi xoay lại Sv: Trần Thị Phượng – CT1002 36
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Hình 4.1.4 Phiếu kết quả sau khi xoay ảnh Sv: Trần Thị Phượng – CT1002 37
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP 4.2 Các thực nghiệm nhận dạng phiếu kết quả 4.2.1 Thực nghiệm nhận dạng khung Sau khi nhận dạng khung ta xác định được các khung theo hình vẽ sau: Hình 4.2.1 Xác định khung cho phiếu kết quả 4.2.2 Thực nghiệm tách dòng Để thực hiện nhận dạng ô trong phiếu kết quả tôi thực hiện tách dòng cho khung trong phiếu và kết quả thu được như sau: Hình 4.2.2 Xác định dòng cho khung số báo danh và mã đề thi Sv: Trần Thị Phượng – CT1002 38
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP Hình 4.2.3 Xác định dòng cho khung trả lời 4.2.3 Thực nghiệm tách ô và nhận dạng ô Sau khi thực hiện nhận dạng dòng, chúng tôi tiếp tục thực hiện nhận dạng ô và kết quả của thực nghiệm ta thu được như sau: Hình 4.2.4 Xác định ô cho khung số báo danh và mã đề thi Hình 4.2.5 Xác định ô cho khung trả lời Sv: Trần Thị Phượng – CT1002 39
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP CHƢƠNG 5: KẾT LUẬN 5.1 Các kết quả đã đạt đƣợc Trong thời gian nghiên cứu và làm đồ án, em đã hoàn thành nhiệm vụ đề ra. Như đã trình bày ở trên, em đã nghiên cứu và thực hiện được các nội dung chính sau: Tìm hiểu về một số kĩ thuật toán nâng cao chất lượng ảnh: Nghiên cứu ứng dụng nâng cao chất lượng ảnh cho bài toán nhận dạng phiếu kết quả thi TOEIC tại trường Đại Học Dân Lập Hải Phòng. Cài đặt thử nghiệm ứng dụng hệ thống nâng cao chất lượng ảnh và nhận dạng phiếu thi TOEIC với các modul chính: Lọc nhiễu, phân ngưỡng Phát hiện góc nghiêng và căn chỉnh ảnh Xác định khung, các dòng, tách ô để phục vụ cho tính toán nhận dạng 5.2 Những tồn tại và hƣớng phát triển Bên cạnh những kết quả đã đạt được, trong đồ án em còn có những vấn đề mà đến thời điểm này chưa giải quyết được: Phạm vi bài toán nhỏ. Kết quả của chương trình chưa thực hiện chấm điểm và vào điểm tự động. Trong thời gian tới em sẽ tiếp tục nghiên cứu để hoàn thiện tiếp các phần còn tồn tại trên để xây dựng thành hệ thống hoàn thiện có thể đưa vào sử dụng. Sv: Trần Thị Phượng – CT1002 40
- TÌM HIỂU MỘT SỐ KỸ THUẬT NÂNG CAO CHẤT LƯỢNG ẢNH VÀ ỨNG DỤNG ĐỒ ÁN TỐT NGHIỆP TÀI LIỆU THAM KHẢO Tài liệu tham khảo tiếng Việt [1.] Nhập môn xử lý ảnh, Lương Mạnh Bá và Nguyễn Thanh Thủy, nhà xuất bản Khoa học Kỹ thuật, 2000. [2.] Nguyễn Thị Thanh Huyền, nhận dạng phiếu kết quả thi trắc nghiệm, đồ án tốt nghiệp Đại học, khoa Công nghệ thông tin – ĐHDL Hải Phòng, 2006. [3.] Xử lý ảnh, PGS.TS Nguyễn Quang Hoan. Học viện bưu chính viễn thông năm 2006. [4.] Xử lý ảnh, TS.Đỗ Năng Toàn và TS.Phạm Việt Bình. Đại Học Thái Nguyên tháng 11 năm 2007. Tài liệu tham khảo tiếng Anh [5.] Introduction to computer vison and image processing, Lương Chi Mai. [6.] Sv: Trần Thị Phượng – CT1002 41