có sơ đồ nguyên lý, đồ khối và sơ đồ giải thuật và code đầy đủ NHẬN DIỆN BIỂN Số XE DÙNG MATLAB .......................................................................................................................................
ĐỒ ÁN NHẬN DIỆN BIỂN SỐ XE DÙNG MATLAB MỤC LỤC DANH MỤC HÌNH ẢNH I DANH MỤC BẢNG BIỂU II CHƯƠNG GIỚI THIỆU .1 CHƯƠNG CƠ SỞ LÝ THUYẾT CHƯƠNG GIẢI THUẬT 15 CHƯƠNG MÔ PHỎNG VÀ KẾT QUẢ 22 CHƯƠNG KẾT LUẬN 26 TÀI LIỆU THAM KHẢO 27 PHỤ LỤC 28 DANH MỤC HÌNH ẢNH HÌNH 1-1 CÁC BƯỚC CƠ BẢN TRONG MỘT HỆ THỐNG XỬ LÝ ẢNH HÌNH 2-2 XỬ LÝ ẢNH TRONG MATLAB HÌNH 4-3 ẢNH RGB BAN ĐẦU 22 HÌNH 4-4 NHỊ PHÂN HÓA ẢNH 22 HÌNH 4-5 LẮP KHOẢNG TRỐNG CÁC ĐỐI TƯỢNG .22 HÌNH 4-6 TẠO KHUNG VIỀN CHO CÁC KÝ TỰ .23 HÌNH 4-7 THU HẸP VÙNG ĐỐI TƯỢNG 23 HÌNH 4-8 XUẤT KÝ TỰ DƯỚI DẠNG TEXT 23 HÌNH 4-9 BIỂN SỐ XE 57F-77872 23 HÌNH 4-10 SAU KHI TẠO KHUNG VIỀN CHO BIỂN SỐ 51F-83838 24 HÌNH 4-11 BIỂN SỐ 51F-83838 .24 HÌNH 4-12 SAU KHI TẠO KHUNG VIỀN CHO BIỂN SỐ 51F-83838 24 DANH MỤC BẢNG BIỂU BẢNG 3-1 CẤU TRÚC HÌNH CHỮ NHẬT 2*6 16 BẢNG 3-2 CẤU TRÚC DẠNG ĐĨA CÓ BÁN KÍNH LÀ 17 BẢNG 3-3 SƠ ĐỒ KHỐI 18 BẢNG 4-4 KẾT QUẢ MÔ PHỎNG MỘT SỐ BIỂN SỐ .25 DANH MỤC TỪ VIẾT TẮT RGB Red, Green, Blue CGA Color Graphic Adaptor CMYK Cyan, Magenta, Yellow, Key ĐỒ ÁN Trang 1/30 CHƯƠNG GIỚI THIỆU 1.1 Giới thiệu đề tài Các thuật toán phát biển số xe khác phát triển vài năm qua Mỗi thuật toán có lợi bất lợi riêng Thuật toán Arth mô tả phương pháp biển số phát dự đoán có quan hệ với Có thể đánh dấu, phát biển số nhiều thời gian địa điểm khác ,phương pháp áp dụng để tổng hợp tất khu vực phát Ngoài ra, để theo dõi khu vực tìm kiếm định hình ảnh Thuật toán Kwasnicka cho thấy phương pháp phát khác sử dụng nhị phân hóa loại bỏ vùng không cần thiết từ hình ảnh Trong phương pháp này, xử lý hình ảnh ban đầu nhị phân hóa hình ảnh thực dựa tương phản nhân vật bối cảnh trongbiển số Sau nhị phân hóa hình ảnh, chia thành vùng màu đen trắng khác khu vực chuyển qua giai đoạn loại bỏ để có khu vực xác có khả chứa biển số 1.2 Tổng quan xử lý ảnh 1.2.1 Khái niệm 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 chuyên 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 cho xử lý tín hiệu chung, khái niệm tích chập, biến đổi Fourier, biến đổi Laplace, Nhận diện biển số xe ĐỒ ÁN Trang 2/30 lọc hữu hạn… Thứ hai, công cụ toán Đại số tuyến tính, Sác xuấ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 trình phân tích nhận dạng ảnh 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 Ứ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 Con người thu nhận thông tin qua giác quan, thị giác đóng vai trò quan trọng Những năm trở lại với phát triển phần cứng máy tính, xử lý ảnh đồ hoạ phát triển cách mạnh mẽ có nhiều ứng dụng sống Xử lý ảnh đồ hoạ đóng vai trò quan trọng tương tác người máy Quá trình xử lý ảnh xem trình thao tác ảnh đầu vào nhằm cho kết mong muốn Kết đầu trình xử lý ảnh ảnh “tốt hơn” kết luận Ảnh xem tập hợp điểm ảnh điểm ảnh xem đặc trưng cường độ sáng hay dấu hiệu vị trí đối tượng không gian xem hàm n biến P(c1, c2, , cn) Do đó, ảnh xử lý ảnh xem ảnh n chiều Sơ đồ tổng quát hệ thống xử lý ảnh: Nhận diện biển số xe ĐỒ ÁN Trang 3/30 Hình 1-1 Các bước hệ thống xử lý ảnh 1.2.2 Các vấn đề xử lý ảnh 1.2.2.1 Một số khái niệm * Ảnh điểm ảnh: Điểm ảnh xem dấu hiệu hay cường độ sáng toạ độ không gian đối tượng ảnh xem tập hợp điểm ảnh * Mức xám, màu Là số giá trị có điểm ảnh ảnh 1.3 Giới thiệu khái quát ảnh số 1.3.1 Các khái niệm ảnh Ảnh số tập hợp hữu hạn điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật Số điểm ảnh xác định độ phân giải ảnh Ảnh có độ phân giải cao thể rõ nét đặt điểm hình làm cho ảnh trở nên thực sắc nét 1.3.1.1 Điểm ảnh (Picture Element) Điểm ảnh (Pixel) phần tử ảnh số toạ độ (x, y) với độ xám màu định Kích thước khoảng cách điểm ảnh chọn thích hợp cho mắt người cảm nhận liên tục không gian mức xám (hoặc màu) ảnh số gần ảnh thật Mỗi phần tử ma trận gọi phần tử ảnh Nhận diện biển số xe ĐỒ ÁN Trang 4/30 1.3.1.2 Mức xám ảnh Mức xám: Là kết biến đổi tương ứng giá trị độ sáng điểm ảnh với giá trị nguyên dương Thông thường xác định [0, 255] tuỳ thuộc vào giá trị mà điểm ảnh biểu diễn Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 mức phổ dụng Lý do: từ kỹ thuật máy tính dùng byte (8 bit) để biểu diễn mức xám Mức xám dùng byte biểu diễn: 28 =256 mức, tức từ đến 255) 1.3.1.3 Độ phân giải ảnh Định nghĩa: Độ phân giải (Resolution) ảnh mật độ điểm ảnh ấn định ảnh số hiển thị Theo định nghĩa, khoảng cách điểm ảnh phải chọn cho mắt người thấy liên tục ảnh Việc lựa chọn khoảng cách thích hợp tạo nên mật độ phân bổ, độ phân giải phân bố theo trục x y không gian hai chiều Ví dụ: Độ phân giải ảnh hình CGA (Color Graphic Adaptor) lưới điểm theo chiều ngang hình: 320 điểm chiều dọc * 200 điểm ảnh (320*200) Rõ ràng, hình CGA 12” ta nhận thấy mịn hình CGA 17” độ phân giải 320*200 Lý do: mật độ (độ phân giải) diện tích hình rộng độ mịn (liên tục điểm) 1.3.2 Các cách phân loại ảnh Ảnh nhị phân: Giá trị xám tất điểm ảnh nhận giá trị điểm ảnh ảnh nhị phân biểu diễn bit Ảnh xám: Giá trị xám nằm [0, 255] điểm ảnh ảnh nhị phân biểu diễn byte Ảnh màu: – Hệ màu RGB: Nhận diện biển số xe ĐỒ ÁN Trang 5/30 Một pixel biểu diễn giá trị (R, G, B) R, G, B giá trị xám biểu biểu diễn byte Khi ta có ảnh 24 bits P(x, y) = (R, G, B) – Hệ màu CMY: phần bù hệ màu RGB (C, M, Y) = (1, 1, 1) – (R, G, B) Hay C+R=M+G=Y+B=1 => Hệ màu thường dùng máy in – Hệ màu CMYK: K độ đậm nhạt màu K= min(C, M, Y) P(x, y) = (C-K, M-K, V-K, K) Ví dụ: Với (C1, M1, Y1) ta có K=min(C1, M1, Y1) CMYK=(C1-K, M1-K, Y1-K, K) 1.4 Cấu trúc biển số xe Việt Nam Theo quy đinh pháp luật (THÔNG TƯ SỐ 37/2010/TT-BCA NGÀY 12 THÁNG 10 NĂM 2010 CỦA BỘ CÔNG AN QUI ĐỊNH QUI TRÌNH ĐĂNG KÝ XE) biển số xe máy có đặc điểm sau: - Biển số làm nhôm hình chữ nhật có kích thước 140 x 190mm - Các ký tự số dập (mỗi địa phương có dập số khác nhau) - Bề mặt phủ sơn phản quang - Biển số thể rõ khu vực đăng ký lưu hành ghi lại giấy đăng ký - Màu sắc sơn, chữ cái, số quy định riêng loại xe chủ phương tiện: xe dân sự, quân sự, quan thuộc phủ, cá nhân tổ chức nước Về cấu trúc biển theo thứ tự sau : tên địa phương đăng kí xe + mã nước + số xe cấu trúc với xe gắn máy xe ô tô Nhận diện biển số xe ĐỒ ÁN Trang 6/30 CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu chung Matlab Matlab ngôn ngữ lập trình thực hành bậc cao sử dụng để giải toán kỹ thuật Matlab tích hợp việc tính toán, thể kết quả, cho phép lập trình, giao diện làm việc dễ dàng cho người sử dụng Dữ liệu với thư viện lập trình sẵn cho phép người sử dụng có ứng dụng sau • Sử dụng hàm có sẵn thư viện, phép tính toán học thông thường • Cho phép lập trình tạo ứng dụng • Cho phép mô mô hình thực tế • Phân tích, khảo sát hiển thị liệu • Với phần mềm đồ hoạ cực mạnh • Cho phép phát triển, giao tiếp với số phần mềm khác C++, Fortran 2.1.1 Tổng quan cấu trúc liệu Matlab Matlab hệ thống tương giao, phần tử liệu mảng (mảng không đòi hỏi kích thước) Chúng cho phép giải vấn đề liên quan đến lập trình máy tính, đặc biệt sử dụng phép tính ma trận hay vectơ sử dụng ngôn ngữ C học Fortran lập trình thực ứng dụng lập trình câu lệnh gọi từ Matlab Matlab viết tắt từ chữ “MATrix LABoratory” tức thư viện ma trận, từ phần mềm Matlab viết nhằm cung cấp cho việc truy cập vào phần mềm ma trận cách dễ dàng, phần mềm ma trận phát triển công trình Linpack Eispack Ngày Matlab phát triển Lapack Artpack tạo nên nghệ thuật phần mềm cho ma trận 2.1.2 Dữ liệu: Dữ liệu Matlab thể dạng ma trận (hoặc mảng – tổng quát), có kiểu liệu liệt kê sau đây: • Kiểu đơn single, kiểu có lợi nhớ liệu đòi hỏi byte nhớ hơn, kiểu liệu không sử dụng phép tính toán học, độ xác • Kiểu double kiểu kiểu thông dụng biến Matlab • Kiểu Sparse • Kiểu uint8, uint8, uint16, uint64… Nhận diện biển số xe ĐỒ ÁN Trang 7/30 Kiểu char ví dụ “Hello” Kiểu cell Kiểu Structure Trong Matlab kiểu liệu double kiểu mặc định sử dụng phép tính số học • • • 2.1.3 Ứng dụng Các khoá học toán học Các kỹ sư, nhà nghiên cứu khoa học Dùng Matlab để tính toán, nghiên cứu tạo sản phẩm tốt sản xuất 2.1.4 Hệ thống Matlab: Hệ thống giao diện Matlab chia thành phần: • Môi trường phát triển Đây nơi đặt công cụ, phương tiện giúp sử dụng lệnh file, ta liệt kê số sau + Desktop + Command Window + Command History + Browsers for viewinghelp • Thư viện, hàm toán học bao gồm cấu trúc tính tổng, sin cosin atan, atan2 etc…, phép tính đơn giản đến phép tính phức tạp tính ma trận nghich đảo, trị riêng, chuyển đổi fourier, laplace, symbolic library • Ngôn ngữ Matlab Đó ngôn ngữ cao ma trận mảng, với dòng lệnh, hàm, cấu trúc liệu vào, lập trình hướng đối tượng • Đồ hoạ Matlab Bao gồm câu lệnh thể đồ họa môi trường 2D 3D, tạo hình ảnh chuyển động, cung cấp giao diện tương tác người sử dụng máy tính • Giao tiếp với ngôn ngữ khác Matlab cho phép tương tác với ngôn ngữ khác C, Fortran … Nhận diện biển số xe ĐỒ ÁN Trang 8/30 2.2 Xử lý ảnh với Matlab 2.2.1 Xử lý ảnh Các bước cần thiết xử lý ảnh Đầu tiên, ả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 quét ảnh Hình mô tả bước xử lý ảnh Hình 2-2 Xử lý ảnh matlab 2.2.2 Các giai đoạn xử lý ảnh 2.2.2.1 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) Nhận diện biển số xe ĐỒ ÁN Trang 17/30 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Bảng 3-2 Cấu trúc dạng đĩa có bán kính Nhận diện biển số xe ĐỒ ÁN Trang 18/30 3.2 Sơ đồ khối Đưa hình vào Chuyển ảnh từ RGB sang GRAY Phép toán hình thái học nhị phân hóa Xác định rìa đối tượng Tách phần biển số Lắp khoảng trống ký tự Trích xuất ký tự Xuất ký tự Bảng 3-3 Sơ đồ khối Nhận diện biển số xe ĐỒ ÁN Trang 19/30 3.3 Phương pháp nhận diện Để nhận diện văn viết biển số phải có độ tương phản cao so với sở phương pháp nhận dạng đề xuất Phương pháp chia thành bốn phần: • Nhị phân hóa • Lọc vùng chứa đối tượng • Xác nhận vùng chọn • Nhận diện xác định Công việc nhắm vào cường độ xám dựa biển để khai thác bắt đầu tiến hành việc phân tích màu xám 3.3.1 Tiền xử lý Ảnh chụp camera kỹ thuật số Ảnh dạng RGB chuyển sang xám Bước tiền xử lý dùng để tang tốc độ xử lý, làm tang độ tương phản giảm nhiễu ảnh 3.3.2 Thao tác hình thái học Phép toán hình thái học chế độ MỞ cho phép dùng tạo cấu trúc phần tử ảnh thang màu xám, sau trừ lại ảnh gốc Biển số hay phần đèn đươc giữ lại ảnh mới, phần không cần thiết loại bỏ 3.3.3 Nhị phân hóa Đặt hình ảnh màu xám đầu vào Các hình ảnh sau lọc lọc trung vị để tạo hình ảnh mờ cách tính toán mức ngưỡng Nhận diện biển số xe ĐỒ ÁN Trang 20/30 Đầu tiên tìm giá trị nhỏ lớn pixel từ ảnh Quá trình chuyển tất pixel sang dạng 0-1 làm cho bước xử lý sau dễ dàng 3.3.4 Phát cạnh Các ký tự vùng biển số xe chứa số lượng lớn cạnh, cạnh so sánh với vùng Đặc tính dùng để định vị vùng có xác suất cao xuất biển số ảnh Bộ lọc Sobel dùng để phát vùng 3.3.5 Phát vùng chứa Phép toán hình thái học sử dụng để loại bỏ đối tượng không cần thiết Thuật toán Đóng Mở dùng để trích xuất vùng chứa hợp lý từ toàn ảnh Đôi số phần xuất lúc với vùng cần chọn 3.3.6 Trích xuất ký tự Kể từ xác định khu vực chọn, nghiêng số góc, cần phải chỉnh sửa để tăng độ xác đối tượng cần khai thác Điều thực cách xoay trích xuất hình ảnh nhị phân thẳng đứng Phân chia ký tự thành ký tự riêng biệt biển số xe Chỉ số hàng cột ký tự lưu lại, số lấy từ ảnh thang xám biển số Nhận diện biển số xe ĐỒ ÁN Trang 21/30 Đem ký tự thu so sánh với ký tự liệu, ta thụ kết hiển thị dạng text Nhận diện biển số xe ĐỒ ÁN Trang 22/30 CHƯƠNG MÔ PHỎNG VÀ KẾT QUẢ 4.1 Mô Hình 4-3 Ảnh RGB ban đầu Hình 4-4 Nhị phân hóa ảnh Hình 4-5 Lắp khoảng trống đối tượng Nhận diện biển số xe ĐỒ ÁN Trang 23/30 Hình 4-6 Tạo khung viền cho ký tự Hình 4-7 Thu hẹp vùng đối tượng Hình 4-8 Xuất ký tự dạng text Một số ví dụ mô khác: Hình 4-9 Biển số xe 57F-77872 Nhận diện biển số xe ĐỒ ÁN Trang 24/30 Hình 4-10 Sau tạo khung viền cho biển số 51F-83838 Hình 4-11 Biển số 51F-83838 Hình 4-12 Sau tạo khung viền cho biển số 51F-83838 4.2 Kết Các ảnh đưa vào bao gồm nhiều dạng màu khác Tổng cộng mô 70 ảnh bao gồm Việt Nam số nước khác Những ảnh chụp với điều kiện phơi sáng khác Điều kiện ánh sáng, khoảng cách độ tương phản ảnh hưởng nhiều đến mô phỏng.Vì tùy thời điểm có ánh sang khác nhau, biển số bị chữ mờ nên khó xác định xác Nhận diện biển số xe ĐỒ ÁN Trang 25/30 Độ xác tính công thức : (1-E/T)*100% E : số lỗi thực T : Tổng ký tự biển số Biển số xe 30A-138.93 57F-778.72 51F-838.38 29A-351.81 61A-049.92 30A-457-14 29Y-8358 Kết 30A-13893 57F-77872 51F-83838 29A-35981 1A-06992 30A-657-16 29Y-8358 Lỗi ký tự 0 0 0 Lỗi số 0 2 Bảng 4-4 Kết mô số biển số Nhận diện biển số xe Độ xác 100% 100% 100% 87.5% 75% 75% 100% ĐỒ ÁN Trang 26/30 CHƯƠNG KẾT LUẬN 5.1 Ưu điểm • Chương trình không phức tạp, dễ sử dụng • Tốc độ xử lý nhanh, xuất ký tự dạng text • Nhận dạng đa số loại biển số xe 5.2 Khuyết điểm • Khoảng cách nhận diện hạn chế • Một số trường hợp nhận diện sai ký tự biển số • Phụ thuộc lớn vào chất lượng điều kiện ánh sáng tốt 5.3 Hướng phát triển • Tạo thêm giao diện GUI cho chương trình • Nhận diện thêm biển số hai dòng, biển số không thuộc Việt Nam • Kết hợp camera chụp hình tự động để xác định nhanh biển số • Xác định danh tính người sở hữu xe Nhận diện biển số xe ĐỒ ÁN Trang 27/30 TÀI LIỆU THAM KHẢO [1] Velappa Ganpathy and Wen Lik Dennis LUI “A Malaysian Vehicle License Plate Localization and Recognition System” Journal of Systemics, Cybernetics and Informatics [2] C.Nelson Kennedy Babu, Krishnan Nallaperumal “A License Plate Localization using Morphology and Recognition” In Proceedings of India Conference, Volume 1, pp.34 – 39, 2008 [3] Yassin M Y Hasan and Lina J Karam, “Morphological text extraction from images” IEEE Trans Image Process [4] Jui-Chen Wu · Jun-Wei Hsieh · Yung-Sheng Chen “Morphology Based text line Extraction” Machine Vision and Applications [5] Leonard G C Hamey, Colin Priest “Automatic Number Plate Recognition for Australian Conditions” Proceedings of the Digital Imaging Computing Techniques And Applications(DICTA) [6] M.I Khalil ”Car plate Recognition Using Template matching Method” International Journal of Computer Theory and Engineering [7] Xử Lý Ảnh Pgs.Ts Nguyễn Quang Hoan, học viện công nghệ bưu viễn thông Nhận diện biển số xe ĐỒ ÁN Trang 28/30 PHỤ LỤC main clc; close all; clear all; f=imread('carplate11.jpg'); f=imresize(f,[400 NaN]); imshow(f); g=rgb2gray(f); g=medfilt2(g,[3 3]); conc=strel('disk',1); gi=imdilate(g,conc); ge=imerode(g,conc); gdiff=imsubtract(gi,ge); gdiff=mat2gray(gdiff); gdiff=conv2(gdiff,[1 1;1 1]); gdiff=imadjust(gdiff,[0.5 0.7],[0 1],.1); B=logical(gdiff); [a1 b1]=size(B); figure(2) imshow(B) er=imerode(B,strel('line',100,0)); figure(3) imshow(er) out1=imsubtract(B,er); F=imfill(out1,'holes'); H=bwmorph(F,'thin',1); H=imerode(H,strel('line',3,90)); figure(4) imshow(H) final=bwareaopen(H,floor((a1/15)*(b1/15))); final(1:floor(.9*a1),1:2)=1; final(a1:-1:(a1-20),b1:-1:(b1-2))=1; yyy=template(2); figure(5) imshow(final) Iprops=regionprops(final,'BoundingBox','Image'); hold on for n=1:size(Iprops,1) rectangle('Position',Iprops(n).BoundingBox,'EdgeColor','g','LineWi dth',2); end hold off NR=cat(1,Iprops.BoundingBox); [r ttb]=connn(NR); Nhận diện biển số xe ĐỒ ÁN Trang 29/30 if ~isempty(r) xlow=floor(min(reshape(ttb(:,1),1,[]))); xhigh=ceil(max(reshape(ttb(:,1),1,[]))); xadd=ceil(ttb(size(ttb,1),3)); ylow=floor(min(reshape(ttb(:,2),1,[]))); yadd=ceil(max(reshape(ttb(:,4),1,[]))); final1=H(ylow:(ylow+yadd+(floor(max(reshape(ttb(:,2),1,[])))ylow)),xlow:(xhigh+xadd)); [a2 b2]=size(final1); final1=bwareaopen(final1,floor((a2/20)*(b2/20))); figure(6) imshow(final1) Iprops1=regionprops(final1,'BoundingBox','Image'); NR3=cat(1,Iprops1.BoundingBox); I1={Iprops1.Image}; carnum=[]; if (size(NR3,1)>size(ttb,1)) [r2 to]=connn2(NR3); for i=1:size(Iprops1,1) ff=find(i==r2); if ~isempty(ff) N1=I1{1,i}; letter=readLetter(N1,2); else N1=I1{1,i}; letter=readLetter(N1,1); end if ~isempty(letter) carnum=[carnum letter]; end else end end for i=1:size(Iprops1,1) N1=I1{1,i}; letter=readLetter(N1,1); carnum=[carnum letter]; end fid1 = fopen('carnum.txt', 'wt'); fprintf(fid1,'%s',carnum); fclose(fid1); winopen('carnum.txt') Nhận diện biển số xe ĐỒ ÁN Trang 30/30 else end fprintf('license plate recognition failure\n'); fprintf('Characters are not clear \n'); conn function [r takethisbox]=connn(NR) [Q,W]=hist(NR(:,4),20); q1=max(Q); ind=find(Q==q1); if length(ind)==1 MP=W(ind); binsize=W(2)-W(1); container=[MP-(binsize/2) MP+(binsize/2)]; [r takethisbox]=takeboxes(NR,container,2); else r=[]; takethisbox=[]; end end takeboxes takethisbox=[]; for i=1:size(NR,1) if NR(i,(2*chk))>=container(1) && NR(i,(2*chk))=container(1) && NR(var(v), (2*chk))