1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE

68 59 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

MỞ ĐẦU 1. Lý do chọn đề tài Ngày nay cùng với sự phát triển khoa học kỹ thuật, nhu cầu đi lại của con người ngày càng tăng, lưu lượng giao thông ngày càng lớn. Với số lượng phương tiện giao thông ngày càng lớn và còn không ngừng tăng thì việc quản lý các phương tiện giao thông gặp rất nhiều khó khăn do đó cần có một hệ thống tự động. Trên thế giới cùng với sự tăng trưởng kinh tế là sự phát triển vượt bậc của các ngành khoa học kỹ thuật nói chung và ngành công nghiệp sản xuất các phương tiện giao thông nói riêng. Sự phát triển ấy được thể hiện rõ nhất khi số lượng các phương tiện giao thông trên thế giới ngày một tăng cao. Điều đó gây ra một áp lực rất lớn đối các cấp quản lý, các cơ quan, đơn vị, những người làm công tác quản lý, giám sát, xử lý vi phạm giao thông. Và đây cũng là một trong những vấn nạn ở Việt Nam, khi mà công tác quản lý phương tiện giao thông nói chung, quản lý ô tô, xe máy nói riêng, cũng như công tác phát hiện, xử phạt các hành vi vi phạm giao thông, chống trộm v.v… sẽ tốn rất nhiều thời gian và công sức. Để nâng cao chất lượng quản lý, đồng thời giảm số lượng nhân viên quản lý trong việc giám sát, việc ứng dụng công nghệ thông tin nhằm xây dựng hệ thống giám sát tự động đối với các phương triện giao thông (cụ thể giám sát biển số xe) đã được áp dụng triệt để. Một số ứng dụng nhận dạng đã được xây dựng và áp dụng. Tất cả đều có ưu điểm nhận dạng nhanh, lưu hình ảnh dưới dạng mã Code trong cơ sở dữ liệu để đối chiếu so sánh mẫu, ví dụ như hệ thống nhận dạng biển số xe ở các siêu thị, công viên… Tuy nhiên, phần lớn các ứng dụng vẫn chưa ứng dụng kỹ thuật xử lý ảnh vào nhận dạng ký tự để có kết quả tốt nhất trong trường hợp hình ảnh không được rõ. Xuất phát từ nhận định trên tôi đã chọn đề tài “Nghiên cứu xây dựng phần mềm nhận dạng xử lý ảnh ứng dụng nhận dạng biển số xe” với mục đích xây dựng phần mềm nhận dạng xử lý ảnh. Phần mềm có khả năng nhận dạng các ký tự từ đó ứng dụng nhận dạng biển số xe phục vụ công tác giám sát, quản lý, xử lý các phương tiện giao thông. 2. Mục đích nghiên cứu của đề tài Xây dựng ứng dụng xử lý ảnh ứng dụng nhận dạng biển số xe tự động, hỗ trợ trong công tác quản lý, kiểm soát, xử lý vi phạm của các phương tiện giao thông. Ứng dụng 6 được xây dựng có giao diện thân thiện, dễ sử dụng có thể nhận dạng ký từ hình ảnh: chữ màu, draw text, các ngôn ngữ khác nhau, trên cơ sở đó có thể nhận dạng các biển số xe. Phần mềm ứng dụng được viết trên môi trường ngôn ngữ C, cùng việc sử dụng thư viện tích hợp OpenCV cho quá trình nhận dạng và xử lý ảnh. 3. Nhiệm vụ nghiên cứu đề tài Tìm hiểu bài toán nhận dạng, bài toán xử lý ảnh áp dụng vào ứng dụng nhận dạng biển số xe. Tìm hiểu các kỹ thuật lập trình và ứng dụng thư viên OpenCV trong việc giải quyết bài toán nhận dạng xử lý ảnh. Xây dựng phần mêm nhận dạng xử lý ảnh ứng dụng nhận dạng biển số xe.

LỜI CẢM ƠN Tôi xin chân thành cảm ơn quý thầy cô giáo khoa Công Nghệ Thông Tin giảng dạy, quan tâm tạo điều kiện thuận lợi để học tập rèn luyện suốt thời gian theo học trường Đặc biệt xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS Phùng Thế Bảo tận tình hướng dẫn, giúp đỡ tơi q trình học tập đặc biệt suốt thời gian làm đồ án tốt nghiệp Thầy ln quan tâm nhiệt tình hướng dẫn tơi từ việc tìm tài liệu việc định hướng lựa chọn giải pháp để triển khai đồ án Thầy nhắc nhở, động viên gặp khó khăn, nhờ mà tơi hồn thành tốt đồ án tốt nghiệp thời hạn Tôi xin gửi lời cảm ơn tới gia đình, bạn bè, người động viên, giúp đỡ nhiều thời gian học tập làm đồ án tốt nghiệp Mặc dù hết sức cố gắng để hoàn thiện báo cáo tốt nghiệp song khả hạn chế nên báo cáo cịn nhiều thiếu sót Vì tơi mong góp ý q báo thầy bạn bè Một lần xin chân thành cảm ơn! LỜI CAM ĐOAN Tôi xin cam đoan đồ án tốt nghiệp cơng trình nghiên cứu riêng tơi Các tài liệu trích dẫn đồ án có nguồn gốc rõ ràng, tuân thủ nguyên tắc trình bày Kết thu trình nghiên cứu đồ án trung thực chưa công bố trước Tơi xin hồn tồn chịu trách nhiệm trước nhà trường lời cam đoan TP Hồ Chí Minh, tháng 10 năm 2021 Sinh viên thực Trần Thị Ngọc Châu MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỞ ĐẦU Lý chọn đề tài Mục đích nghiên cứu đề tài Nhiệm vụ nghiên cứu đề tài CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Xử lý ảnh 1.1.1 Xử lý ảnh số ? 1.1.2 Nguồn gốc xử lý ảnh số 1.1.3 Các ứng dụng xử lý ảnh số 1.1.4 Các bước xử lý ảnh số 1.2 Thư viện OpenCV 13 1.2.1 Giới thiệu chung OpenCV: 13 1.2.2 Ứng dụng OpenCV nhận dạng xử lý ảnh: 17 1.3 Bài toán nhận dạng biển số xe 38 1.3.1 Khái niệm 38 1.3.2 Ứng dụng 40 1.3.3 Một số hướng giải toán nhận dạng biển số xe 40 Tóm tắt chương : 47 CHƯƠNG 2: NGHIÊN CỨU XÂY DỰNG ỨNG DỤNG XỬ LÝ ẢNH 48 2.1 Mô tả ứng dụng 48 2.2 Quá trình xử lý nhận dạng ảnh ứng dụng 48 2.3 Cài đặt ứng dụng: 50 2.3.1 Giao diện phần mềm: 50 2.3.2 Nhận dạng biển số xe: 50 Tóm tắt chương 2: 55 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC 58 Phụ lục 1: Danh mục hình vẽ 58 Phụ lục 2: Hướng dẫn cấu hình OpenCV 60 Phụ lục 3: Hướng dẫn cài đặt DevExpress: 60 Phụ lục 4: Đoạn mã chương trình 64 MỞ ĐẦU Lý chọn đề tài Ngày với phát triển khoa học kỹ thuật, nhu cầu lại người ngày tăng, lưu lượng giao thông ngày lớn Với số lượng phương tiện giao thơng ngày lớn cịn khơng ngừng tăng việc quản lý phương tiện giao thơng gặp nhiều khó khăn cần có hệ thống tự động Trên giới với tăng trưởng kinh tế phát triển vượt bậc ngành khoa học kỹ thuật nói chung ngành công nghiệp sản xuất phương tiện giao thông nói riêng Sự phát triển thể rõ số lượng phương tiện giao thông giới ngày tăng cao Điều gây áp lực lớn đối cấp quản lý, quan, đơn vị, người làm công tác quản lý, giám sát, xử lý vi phạm giao thông Và vấn nạn Việt Nam, mà công tác quản lý phương tiện giao thơng nói chung, quản lý tơ, xe máy nói riêng, cơng tác phát hiện, xử phạt hành vi vi phạm giao thông, chống trộm v.v… tốn nhiều thời gian công sức Để nâng cao chất lượng quản lý, đồng thời giảm số lượng nhân viên quản lý việc giám sát, việc ứng dụng công nghệ thông tin nhằm xây dựng hệ thống giám sát tự động phương triện giao thông (cụ thể giám sát biển số xe) áp dụng triệt để Một số ứng dụng nhận dạng xây dựng áp dụng Tất có ưu điểm nhận dạng nhanh, lưu hình ảnh dạng mã Code sở liệu để đối chiếu so sánh mẫu, ví dụ hệ thống nhận dạng biển số xe siêu thị, công viên… Tuy nhiên, phần lớn ứng dụng chưa ứng dụng kỹ thuật xử lý ảnh vào nhận dạng ký tự để có kết tốt trường hợp hình ảnh khơng rõ Xuất phát từ nhận định chọn đề tài “Nghiên cứu xây dựng phần mềm nhận dạng xử lý ảnh ứng dụng nhận dạng biển số xe” với mục đích xây dựng phần mềm nhận dạng xử lý ảnh Phần mềm có khả nhận dạng ký tự từ ứng dụng nhận dạng biển số xe phục vụ công tác giám sát, quản lý, xử lý phương tiện giao thơng Mục đích nghiên cứu đề tài Xây dựng ứng dụng xử lý ảnh ứng dụng nhận dạng biển số xe tự động, hỗ trợ công tác quản lý, kiểm soát, xử lý vi phạm phương tiện giao thông Ứng dụng xây dựng có giao diện thân thiện, dễ sử dụng nhận dạng ký từ hình ảnh: chữ màu, draw text, ngơn ngữ khác nhau, sở nhận dạng biển số xe Phần mềm ứng dụng viết môi trường ngôn ngữ C#, cùng việc sử dụng thư viện tích hợp OpenCV cho trình nhận dạng xử lý ảnh Nhiệm vụ nghiên cứu đề tài - Tìm hiểu tốn nhận dạng, toán xử lý ảnh áp dụng vào ứng dụng nhận dạng biển số xe - Tìm hiểu kỹ thuật lập trình ứng dụng thư viên OpenCV việc giải toán nhận dạng xử lý ảnh - Xây dựng phần mêm nhận dạng xử lý ảnh ứng dụng nhận dạng biển số xe NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Xử lý ảnh 1.1.1 Xử lý ảnh số ? Xử lý ảnh lĩnh vực mang tính khoa học cơng nghệ Nó ngành khoa học mẻ so với nhiều ngành khoa học khác tốc độ phát triển nhanh, kích thích trung tâm nghiên cứu, ứng dụng, đặc biệt máy tính chun dụng riêng cho Xử lý ảnh đưa vào giảng dạy bậc đại học nước ta khoảng chục năm Nó mơn học liên quan đến nhiều lĩnh vực cần nhiều kiến thức sở khác Đầu tiên phải kể đến Xử lý tín hiệu số mơn học hết sức cho xử lý tín hiệu chung, khái niệm tích chập, biến đổi Fourier, biến đổi Laplace, lọc hữu hạn… Thứ hai, công cụ tốn Đại số tuyến tính, xác suất, thống kê Một số kiến thứ cần thiết Trí tuệ nhân tao, Mạng nơ-ron nhân tạo đề cập q trình phân tích nhận dạng ảnh 1.1.2 Nguồn gốc xử lý ảnh số Ứng dụng biết đến nâng cao chất lượng ảnh báo truyền qua cáp từ Luân đôn đến New York từ năm 1920 Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng độ phân giải ảnh Việc nâng cao chất lượng ảnh phát triển vào khoảng năm 1955 Điều giải thích sau chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho trình xử lý ảnh số thuận lợi Năm 1964, máy tính có khả xử lý nâng cao chất lượng ảnh từ mặt trăng vệ tinh Ranger Mỹ bao gồm: làm đường biên, lưu ảnh Từ năm 1964 đến nay, 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 mạng nơ- ron nhân tạo, thuật toán xử lý đại cải tiến, công cụ nén ảnh ngày áp dụng rộng rãi thu nhiều kết khả quan 1.1.3 Các ứng dụng xử lý ảnh số a Biến đổi ảnh (Image Transform) Trong xử lý ảnh số điểm ảnh lớn tính tốn nhiều (độ phức tạp tính tốn cao) địi hỏi dung lượng nhớ lớn, thời gian tính toán lâu 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 phép toán tương đương biến đổi sang miền xử lý khác để dễ tính tốn Sau xử lý dễ dàng thực hiện, dùng biến đổi ngược để đưa miền xác định ban đầu, biến đổi thường gặp xử lý ảnh gồm: - Biến đổi Fourier, Cosin, Sin - Biến đổi (mơ tả) ảnh tích chập, tích Kronecker (theo xử lý số tín hiệu) - Các biến đổi khác KL (Karhumen Loeve), Hadamard Một số công cụ xác xuất thống kê sử dụng xử lý ảnh b Nén ảnh Ảnh dù dạng chiếm không gian nhớ 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 chia hệ 1, hệ Hiện nay, chuẩn MPEG dùng với ảnh phát huy hiệu 1.1.4 Các bước xử lý ảnh số Các phương pháp xử lý ảnh ứng dụng chính: nâng cao chất lượng ảnh phân tích ảnh Để dễ tưởng tượng, xét bước cần thiết xử lý ảnh Đầu tiên, ảnh Hình 1 Các bước xử lý ảnh tự nhiên từ giới thu nhận qua thiết bị thu (như Camera, máy chụp ảnh) Trước đây, ảnh thu qua Camera ảnh tương tự (loại Camera ống kiểu CCIR) Gần đây, với phát triển công nghệ, ảnh màu đen trắng lấy từ Camera, sau chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý (Máy ảnh số thí dụ gần gũi) Mặt khác, ảnh tiếp nhận từ vệ tinh; quét từ ảnh chụp máy qt ảnh Hình 1.1 mơ tả bước xử lý ảnh Sơ đồ bao gồm thành phần sau: a Phần thu nhận ảnh (Image Acquisition) Ảnh nhận qua camera màu đen trắng Thường ảnh nhận qua camera ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, ảnh 25 dịng), có loại camera số hoá (như loại CCD – Change Coupled Device) loại photodiot tạo cường độ sáng điểm ảnh Camera thường dùng loại quét dòng, ảnh tạo có dạng hai chiều Chất lượng ảnh thu nhận phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh) b Tiền xử lý (Image Processing) Sau thu nhận, ảnh nhiễu độ tương phản thấp nên cần đưa vào tiền xử lý để nâng cao chất lượng Chức tiền xử lý lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét c Phân đoạn (Segmentation) hay phân vùng ảnh Phân vùng ảnh tách ảnh đầu vào thành 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) phong bì thư cho mục đích phân loại bưu phẩm, cần chia câu, chữ địa tên người thành từ, chữ, số (hoặc vạch) riêng biệt để nhận dạng Đây phần phức tạp khó khăn xử lý ảnh dễ gây lỗi, làm độ xác ảnh Kết nhận dạng ảnh phụ thuộc nhiều vào công đoạn d Biểu diễn ảnh (Image Representation) Đầu ảnh sau phân đoạn chứa điểm ảnh vùng ảnh (ảnh phân đoạn) cộng với mã liên kết với vùng lận cận Việc biến đổi số liệu thành dạng thích hợp cần thiết cho xử lý máy tính Việc chọn tính chất để thể ảnh gọi trích chọn đặc trưng (Feature election) gắn với việc tách đặc tính ảnh dạng thơng tin định lượng làm sở để phân biệt lớp đối tượng với đối tượng khác phạm vi ảnh nhận Ví dụ: nhận dạng ký tự phong bì thư, miêu tả đặc trưng ký tự giúp phân biệt ký tự với ký tự khác e Nhận dạng nội suy ảnh (Image Recognition and Interpretation) Nhận dạng ảnh trình xác định ảnh Quá trình thường thu cách so sánh với mẫu chuẩn học (hoặc lưu) từ trước Nội suy phán đoán theo ý nghĩa sở nhận dạng Ví dụ: loạt chữ số nét gạch ngang phong bì thư nội suy thành mã điện thoại Có nhiều cách phân loại ảnh khác ảnh Theo lý thuyết nhận dạng, mơ hình tốn học ảnh phân theo hai loại nhận dạng ảnh bản: - Nhận dạng theo tham số - Nhận dạng theo cấu trúc Một số đối tượng nhận dạng phổ biến áp dụng khoa học công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người… f Cơ sở tri thức (Knowledge Base) Như nói trên, ảnh đối tượng phức tạp đường nét, độ sáng tối, 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ý phân tích ảnh ngồi việc đơn giản hóa phương pháp tố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 xử lý ảnh theo cách người Trong bước xử lý đó, nhiều khâu xử lý theo phương pháp trí tuệ người Vì vậy, sở tri thức phát huy g Mô tả (biểu diễn ảnh) Từ Hình 1.1, ảnh sau số hố lưu vào nhớ, chuyển sang khâu để phân tích Nếu lưu trữ ảnh trực tiếp từ ảnh thơ, địi hỏi dung lượng nhớ cực lớn không hiệu theo quan điểm ứng dụng công nghệ Thông thường, ảnh thô đặc tả (biểu diễn) lại (hay đơn giản mã hoá) theo đặc điểm ảnh gọi đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh (Region) Một số phương pháp biểu diễn thường dùng: • Biểu diễn mã chạy (Run-Length Code) • Biểu diễn mã xích (Chaine -Code) • Biểu diễn mã tứ phân (Quad-Tree Code) Biểu diễn mã chạy Phương pháp thường biểu diễn cho vùng ảnh áp dụng cho ảnh nhị phân Một vùng ảnh R mã hố đơn giản nhờ ma trận nhị phân: 10 ✓ Tiếng Nhật: Hình 10 Nhận dạng hình ảnh chứa ký tự Tiếng Nhật 54 Tóm tắt chương 2: Trong chương 2, tác giả xây dựng phần mềm ứng dụng nhận dạng xử lý ảnh, ứng dụng nhận dạng biển số xe Phần mềm ứng dụng xây dựng ngôn ngữ C#, kết hợp với thư viện OpenCV Phần mềm ứng dụng nhận dạng ký tự từ ảnh đầu vào, nhận dạng biển số xe có chất lượng trung bình 55 KẾT LUẬN Kết đạt được: - Nghiên cứu kỹ thuật lập trình tốn nhận dạng xử lý ảnh - Nghiên cứu thư viện OpenCV ứng dụng - Xây dựng chương trình nhận dạng xử lý ảnh ứng dụng nhận dạng biển số xe Ưu điểm: Phần mềm ứng dụng có giao diện thân thiện, dễ sử dụng Xử lý ảnh có chất lượng trung bình Nhược điểm: Phần mềm nhận dạng với biển số có tương phản cao biển đỏ, bị mờ, biển số có đường viền mảnh, biển số có lắp thiết bị trang trí, biển bị bóng lóa ánh sáng, biển có phần chữ số khơng rõ ràng Xét nhận dạng ký tự biển số xe khơng thực xác, cịn số ký tự nhận dạng sai Vì vậy, để tốn phát huy hiệu tốt thiết bị quan sát cần đặt vị trí phù hợp Để thu ảnh khơng có bóng sáng thị toàn biển số xe Hướng phát triển: - Nâng cao hiệu chương trình, tách kí tự biển số trường hợp biển số bị nhiều nhiễu, mát thông tin nhiễu từ điều kiện mơi trường, tìm vùng biển số ảnh có độ tương phản biển số thấp Đặc biệt biển xe có màu đỏ chữ trắng - Phát triển chương trình thành module phần cứng Có khả tương thích với thiết bị quan sát camera - Kết hợp chương trình với chương trình nhận dạng khác để hỗ trợ tốt cho việc quản lý phương tiện giao thơng Ví dụ: kết hợp với chương trình nhận dạng chữ viết để đưa biển số dạng ký tự máy tính giúp công việc quản lý bến bãi… - Nghiên cứu theo hướng ứng dụng cụ thể : giám sát phương tiện giao thông, xử lý vi phạm giao thông, quản lý xe bãi giữ xe, kho vật tư… 56 TÀI LIỆU THAM KHẢO Tiếng việt [1] Lương Mạnh Bá, Pts Nguyễn Thanh Thủy Nhận môn xử lý ảnh số NXB KHKT 2003 [2] Lương Văn Đô, luận văn tốt nghiệp Đại Học: Nhận dạng ký tự Tesseract [3] http://thigiacmaytinh.com/?p=493 [4] http://www.codingtutes.com/2016/01/c-nhan-dang-bien-so-xe-detect-licenseplates-emgucv/ [5] http://text.123doc.org/document/3374361-nhan-dang-bien-so-xe-voi-opencv-vatesseract.htm [6] www.megacode.vn/files/view/tai-lieu-huong-dan-su-dung-bo-cong-cudevexpress cho-asp-net-4570.html [7] https://www.youtube.com/watch?v=ib-5pvLNmmY Tiếng anh [8] Gary Breadki & Kaebler Learing OpenCV_ computer vission whit the OpenCV Library [9] http://docs.opencv.org [10] http://code.gurusvn.com 57 PHỤ LỤC Phụ lục 1: Danh mục hình vẽ Hình 1 Các bước xử lý ảnh Hình Sơ đồ phân tích xử lý ảnh lưu đồ thơng tin khối 11 Hình Các thành phần hệ thống xử lý 12 Hình Ví dụ hệ thống xử lý ảnh 13 Hình Chọn phiên Visual cài đặt OpenCV 15 Hình (a) ngưỡng 40, (b) ngưỡng 121 17 Hình Ngưỡng Threshold Binary OpenCV 18 Hình Ngưỡng Threshold Binary, inverted OpenCV 18 Hình Ngưỡng Truncate OpenCV 18 Hình 10 Ngưỡng Threshold to Zero OpenCV 19 Hình 11 Ngưỡng Threshold to Zero, inverted OpenCV 19 Hình 12 Sử dụng lọc hộp thông thường 20 Hình 13 Sử dụng lọc Gaussian 21 Hình 14 Sử dụng lọc Median 21 Hình 15 Sử dụng lọc song phương 22 Hình 16 Filter2D nhân thay đổi tăng dần từ trái qua phải 22 Hình 17 Tìm biên chức Sobel OpenCV 26 Hình 18 Mặt nạ hướng theo Kirsh 26 Hình 19 Tìm biên Laplace 29 Hình 20 Tìm biên theo Canny 30 Hình 21 Trục tọa độ đề qua điểm 31 Hình 22 Trục tọa độ đề 31 Hình 23 Hệ tọa độ cực 32 Hình 24 Đường thẳngHough tọa độ cực 32 Hình 25 Kết hợp HoughLines với HoughCircles 33 Hình 26 Tìm thấy hình trịn mẫu có hình trịn 34 Hình 27 Tải ảnh vào cửa sổ windows 35 Hình 28 Chuyển ảnh màu sang ảnh xám 36 Hình 29 Sử dụng findContours tìm đối tượng 37 Hình 30 Hệ thống tự động nhận dạng biển số xe 39 58 Hình 31 Một số loại biển số xe thông dụng 42 Hình 32 Giai đoạn phát vùng chứa biển số 43 Hình 33 (a) ảnh đầu vào, (b) ảnh xử lý xám lọc song phương 44 Hình 34 Ảnh sau tiến hành phân ngượng 45 Hình 35 Tìm đường bao đối tượng 45 Hình 36 Sau lọc dặc điểm biển số cắt riêng vùng biển số 46 Hình 37 Giai đoạn tách riêng ký tự 46 Hình 38 Các ký tự cắt sau tìm thấy vùng biển số 47 Hình Sơ đồ cài đặt chương trình nhận dạng ký tự 49 Hình 2 Giao diện ứng dụng 50 Hình Thông tin ảnh đầu vào 50 Hình Tiền xử lý ảnh 51 Hình Kết xử lý ảnh 51 Hình Kết nhận dạng Draw text 52 Hình Nhận dạng ký tự quét hình 52 Hình Nhận dạng hình ảnh chứa ký tự Tiếng Anh 53 Hình Nhận dạng hình ảnh chứa ký tự Tiếng Trung Quốc 53 Hình 10 Nhận dạng hình ảnh chứa ký tự Tiếng Nhật 54 59 Phụ lục 2: Hướng dẫn cấu hình OpenCV Sau tơi xin hướng dẫn cấu hình OpenCV phiên 4.1.2 với Microsoft Visual Studio 2019 64 bit Bước 1: Download OpenCV từ trang chủ về: https://opencv.org/releases.html Bước 2: Sau download xong, chạy file file cài đặt thông thường, chọn đường dẫn mà OpenCV giải nén Sau chọn xong đường dẫn chọn Extract để bắt đầu giải nén Phụ lục 3: Hướng dẫn cài đặt DevExpress: Bước 1: Download trang chủ https://www.devexpress.com/ (Bản 19.2 + file Crack) Bước 2: Chạy file cài đặt 4xx MB, sau chọn UI control bạn muốn sử dụng 60 Bước 3: chọn Accept & Continue Bước 4: Chọn vùng lưu cài đặt nhấn Accept and Install để chấp nhận bắt đầu cài đặt 61 Bước 5: Chọn Finish bước sang trình Crack Bước 6: Chạy file DevExpress.Patch.exe với quyền quản trị viên Bước 7: Nhập mail tên vào Your name, nhấn Apply patch chờ cài đặt 62 Bước 8: Hoàn tất trình Crack cài đặt 63 Phụ lục 4: Đoạn mã chương trình • Thơng tin ảnh: Nhận ảnh từ Dialog xác định tên ảnh, kích thước, đường dẫn, định dạng ảnh Chuyển ảnh đen trắng Dựa vào bit màu điểm ảnh ta chắt lọc chuyển ảnh thành đen trắng Xử lý: public Image SetGrayscale(Image img) { Bitmap temp = (Bitmap)img; Bitmap bmap = (Bitmap)temp.Clone(); Color c; for (int i = 0; i < bmap.Width; i++) { for (int j = 0; j < bmap.Height; j++) { c = bmap.GetPixel(i, j); byte gray = (byte)(.299 * c.R + 587 * c.G + 114 * c.B); bmap.SetPixel(i, j, Color.FromArgb(gray, gray, gray)); } } img = (Bitmap)bmap.Clone(); return img; } Nhị phân ảnh - Mục đích tăng khả nhận diện vùng ký tự ta thực nhị phân ảnh để có vùng nhận diện cách rõ ràng nhiên nhị phân ảnh vùng khác nên ngưỡng nhị phân khác Ở ta chọn ngưỡng T = 128 Xử lý: public Image SetBinary(Image img) { Bitmap temp = (Bitmap)img; 64 Bitmap bmap = (Bitmap)temp.Clone(); Color c; for (int i = 0; i < bmap.Width; i++) { for (int j = 0; j < bmap.Height; j++) { c = bmap.GetPixel(i, j); if (c.R < 128) { bmap.SetPixel(i, j, Color.FromArgb(0, 0, 0)); } else { bmap.SetPixel(i, j, Color.FromArgb(255, 255, 255)); } } } img = (Bitmap)bmap.Clone(); return img; } Bao biên ký tự - Sau nhị phân hóa ảnh ta khoanh vùng ký tự cách bao biên ký tự Việc bao biên ký tự mang tính chất tương đối nhằm mực đích tìm vùng ký tự - Nếu tìm vùng ký tự thực trình bao biên ký tự cách vẽ khung bao biên ảnh Xử lý: Image image = new Image((Bitmap)SetBinary(imgGoc)); using (Image gray = image.Convert()) { _ocr.Recognize(gray); Tesseract.Charactor[] charactors = _ocr.GetCharactors(); 65 foreach (Tesseract.Charactor c in charactors) image.Draw(c.Region, drawColor, 2); //Ảnh biên pichinh.Image = img; picAnalysis.Image = image.Bitmap; } - Đối với biển số xe cần khoanh vùng biển số bao biên vùng trước bao biên ký tự Trước tiên cần phải tìm vùng biển số sau thực biện bao biên theo vùng Nhận dạng ký tự - Dùng thư viện openCV để nhận dạng ký tự tìm vùng ảnh: _ocr.Recognize(gray); Tesseract.Charactor[] charactors = _ocr.GetCharactors(); String text = _ocr.GetText(); rtxtHienThi.Text = text; - Đối với trình nhận dạng ký tự cần có liệu ký tự đối chiếu theo ngôn ngữ cụ thể lưu trữ thư mục tessdata - Đối với tìm vùng ảnh nhận dạng biển số xe liệu nằm tessedit_char_whitelist gồm ký tự chữ in hoa chữ số tư - Nhận dạng biển số xe - Tìm vùng biển số xe - Tìm vùng ảnh trình đệ quy tìm vùng ký tự Nếu bao biên sai duyệt vùng có khả vùng ký tự - Xử lý tìm vùng có khả biển số public static Image FilterPlate(Image plate) { Image thresh = plate.ThresholdBinaryInv(new Gray(120), new Gray(255)); using (Image plateMask = new Image(plate.Size)) using (Image plateCanny = plate.Canny(new Gray(100), new Gray(50))) 66 using (MemStorage stor = new MemStorage()) { plateMask.SetValue(255.0); for (Contour contours = plateCanny.FindContours( Emgu.CV.CvEnum.CHAIN_APPROX_METHOD.CV_CHAIN_AP PROX_SIMPLE, Emgu.CV.CvEnum.RETR_TYPE.CV_RETR_EXTERNAL,stor); contours != null; contours = contours.HNext) { Rectangle rect = contours.BoundingRectangle; if (rect.Height > (plate.Height >> 1)) { rect.X -= 1; rect.Y -= 1; rect.Width += 2; rect.Height += 2; rect.Intersect(plate.ROI); plateMask.Draw(rect, new Gray(0.0), -1); } } thresh.SetValue(0, plateMask); } } Đệ quy: public void FindLicensePlate( ) { for (Duyệt vùng có khả năng) { int numberOfChildren = GetNumberOfChildren(contours); if (numberOfChildren == 0) continue; if (Diện tích tối đa) { if (Số vùng tối đa có khả năng) 67 { FindLicensePlate( ); continue; } Cố định size: { Tesseract.Charactor[] words; StringBuilder strBuilder = new StringBuilder(); using (Image tmp = filteredPlate.Clone()) { _ocr.Recognize(tmp); words = _ocr.GetCharactors(); if (words.Length == 0) continue; for (int i = 0; i < words.Length; i++) { strBuilder.Append(words[i].Text); } } Lưu biển số tìm } } } 68

Ngày đăng: 07/01/2022, 15:07

HÌNH ẢNH LIÊN QUAN

Hình 1.2. Sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1.2. Sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối (Trang 11)
Hình 1.3. Các thành phần chính của hệ thống xử lý. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1.3. Các thành phần chính của hệ thống xử lý (Trang 12)
Hình 1.5. Chọn phiên bản Visual cài đặt OpenCV. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1.5. Chọn phiên bản Visual cài đặt OpenCV (Trang 15)
Hình 1. 12. Sử dụng bộ lọc hộp thông thường. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 12. Sử dụng bộ lọc hộp thông thường (Trang 20)
Hình 1. 13. Sử dụng bộ lọc Gaussian. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 13. Sử dụng bộ lọc Gaussian (Trang 21)
Hình 1. 14. Sử dụng bộ lọc Median. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 14. Sử dụng bộ lọc Median (Trang 21)
Hình 1. 16. Filter2D nhân thay đổi tăng dần từ trái qua phải. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 16. Filter2D nhân thay đổi tăng dần từ trái qua phải (Trang 22)
Hình 1. 19. Tìm biên Laplace. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 19. Tìm biên Laplace (Trang 29)
Hình 1. 25 Kết hợp giữa HoughLines với HoughCircles. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 25 Kết hợp giữa HoughLines với HoughCircles (Trang 33)
- Tìm đường tròn với HoughCircles. Hình 1. 26 vector&lt;Vec3f&gt; circles;  - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
m đường tròn với HoughCircles. Hình 1. 26 vector&lt;Vec3f&gt; circles; (Trang 34)
Hình 1. 27. Tải một ảnh vào cửa sổ windows. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 27. Tải một ảnh vào cửa sổ windows (Trang 35)
Hình 1. 28. Chuyển ảnh màu sang ảnh xám. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 28. Chuyển ảnh màu sang ảnh xám (Trang 36)
Hình 1. 29. Sử dụng findContours tìm đối tượng. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 29. Sử dụng findContours tìm đối tượng (Trang 37)
Hình 1. 30. Hệ thống tự động nhận dạng biển số xe. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 30. Hệ thống tự động nhận dạng biển số xe (Trang 39)
Hình 1. 31. Một số loại biển số xe thông dụng. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 31. Một số loại biển số xe thông dụng (Trang 42)
Hình 1. 32. Giai đoạn phát hiện vùng chứa biển số. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 32. Giai đoạn phát hiện vùng chứa biển số (Trang 43)
Hình 1. 33. (a) ảnh đầu vào, (b) ảnh xử lý xám và lọc song phương. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 33. (a) ảnh đầu vào, (b) ảnh xử lý xám và lọc song phương (Trang 44)
Hình 1. 34. Ảnh sau khi tiến hành phân ngượng. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 34. Ảnh sau khi tiến hành phân ngượng (Trang 45)
Hình 1. 35. Tìm đường bao các đối tượng. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 1. 35. Tìm đường bao các đối tượng (Trang 45)
Các bước xử lý nhận dạng trên được cụ thể hóa bằng hình 2.1 sau: - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
c bước xử lý nhận dạng trên được cụ thể hóa bằng hình 2.1 sau: (Trang 49)
Hình 2.2. Giao diện chính của ứng dụng. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 2.2. Giao diện chính của ứng dụng (Trang 50)
Hình 2.3. Thông tin ảnh đầu vào. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 2.3. Thông tin ảnh đầu vào (Trang 50)
Hình 2. 4. Tiền xử lý ảnh. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 2. 4. Tiền xử lý ảnh (Trang 51)
Hình 2. 5. Kết quả xử lý ảnh. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 2. 5. Kết quả xử lý ảnh (Trang 51)
Hình 2. 6. Kết quả nhận dạng Draw text. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 2. 6. Kết quả nhận dạng Draw text (Trang 52)
✓ Nhận dạng ký tự quét màn hình: - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
h ận dạng ký tự quét màn hình: (Trang 52)
Hình 2. 9. Nhận dạng hình ảnh chứa ký tự Tiếng Trung Quốc. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 2. 9. Nhận dạng hình ảnh chứa ký tự Tiếng Trung Quốc (Trang 53)
Hình 2. 8. Nhận dạng hình ảnh chứa ký tự Tiếng Anh. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 2. 8. Nhận dạng hình ảnh chứa ký tự Tiếng Anh (Trang 53)
Hình 2. 10. Nhận dạng hình ảnh chứa ký tự Tiếng Nhật. - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
Hình 2. 10. Nhận dạng hình ảnh chứa ký tự Tiếng Nhật (Trang 54)
Sau đây tôi xin hướng dẫn cấu hình OpenCV phiên bản 4.1.2 với Microsoft Visual Studio 2019 bản 64 bit - NGHIÊN CỨU XÂY DỰNG PHẦN MỀM NHẬN DẠNG XỬ LÝ ẢNH ỨNG DỤNG NHẬN DẠNG BIỂN SỐ XE
au đây tôi xin hướng dẫn cấu hình OpenCV phiên bản 4.1.2 với Microsoft Visual Studio 2019 bản 64 bit (Trang 60)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN