Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 96 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
96
Dung lượng
6,67 MB
Nội dung
MỤC LỤC MỤC LỤC DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU DANH MỤC CÁC TỪ VIẾT TẮT LỜI CẢM ƠN LỜI MỞ ĐẦU 10 CHƯƠNG I: GIỚI THIỆU VỀ ĐỀ TÀI 11 1.1 Lý chon đề tài: 11 1.2 Lịch sử nghiên cứu: 11 1.3 Mục đích nghiên cứu, đối tượng phạm vi nghiên cứu đồ án: 12 1.3.1 Mục đích nghiên cứu: 12 1.3.2 Đối tượng nghiên cứu: .12 1.3.3 Phạm vi nghiên cứu: 12 CHƯƠNG II: TỔNG QUAN VỀ HỆ THỐNG XỬ LÝ ẢNH 14 2.1 Tổng quan xử lý ảnh: 14 2.1.1 Một số khái niệm vấn đề xử lý ảnh 15 2.1.1.1 Một số khái niệm bản: .15 2.1.1.2 Biểu diễn ảnh:17 2.1.1.5 Phân tích ảnh: 18 2.2 Thu nhận ảnh: 19 2.2.1 Các thiết bị thu nhận ảnh: 19 2.2.1.1 Lý thuyết camera: 19 2.2.1.2 Bộ cảm biến ảnh: 20 2.2.2 Hệ tọa độ màu: 22 2.2.2.1 Khái niệm: 22 2.2.2.2 Biến đổi hệ tọa độ màu: 23 2.2.3 Lấy mẫu lượng tử hóa: .23 2.2.3.1 Giới thiệu: 23 2.2.3.2 Lấy Mẫu: 23 2.2.3.3 Lượng tử hóa:25 2.2.4 Một số phương pháp biểu diễn ảnh: 26 2.2.4.1 Biểu diễn mã loạt dài: SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A 26 Page 2.2.4.2 Biểu diễn mã xích: 27 2.2.4.3 Biểu diễn mã tứ phân: 27 2.2.5 Các định dạng ảnh bản: .28 2.2.5.1 Khái niệm chung: 28 2.2.5.2 Quy trình đọc tệp ảnh: 28 2.2.6 Khái niệm ảnh đen trắng ảnh màu: 29 2.2.6.1 Ảnh đen trắng: 2.2.6.2 Ảnh màu: 30 30 2.3 Các phương pháp phát ảnh: 31 2.3.1 Giới thiệu biên kỹ thuật phát biên 31 2.3.1.1 Một số khái niệm: 31 2.3.1.2 Phân loại kỹ thuật phát biên: 32 2.3.2 Phương pháp phát biên cục bộ: .33 2.3.2.1 Phương pháp Gradient: 2.3.2.2 Kỹ thuật Laplace: 33 34 2.3.2.3 Một số phương pháp khác: 34 2.4 Phân vùng ảnh: 34 2.4.1 Giới thiệu: 34 2.4.2 Phân vùng ảnh theo ngưỡng biên độ: 35 2.4.3 Phân vùng ảnh theo miền đồng nhất: 36 2.4.3.1 Phương pháp tách tứ phân: 36 2.4.3.2 Phương pháp cục bộ: 38 2.4.3.3 Phương pháp tổng hợp: 39 2.4.3.1 Phương pháp cấu trúc: 39 2.4.4.2 Tiếp cận theo tính kết cấu: 40 2.5 Nhận dạng ảnh: .40 2.5.1 Giới thiệu: 40 2.5.2 Khái niệm nhận dạng: .41 2.5.3 Mơ hình chất q trình nhận dạng: 41 2.5.3.1 Mơ hình: 41 2.5.3.2 Bản chất trình nhận dạng: 42 2.5.4 Nhận dạng theo cấu trúc: 44 2.5.4.1 Biểu diễn định tính: 44 2.5.4.2 Phương pháp nhận dạng theo cấu trúc: SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A 46 Page 2.5.5 Nhận dạng dựa theo mạng Nơron: 46 2.5.5.1 Giới thiệu mạng nơron: 46 2.5.5.2 Nơron sinh học Nơron Nhân tạo: 48 2.5.5.2.2 Cấu trúc nơron nhân tạo: 50 CHƯƠNG III: TỔNG QUAN VỀ HỆ THỐNG NHẬN DẠNG BIỂN SỐ XE MÁY 52 3.1 Khái quát chung hệ thống nhận dạng biển số xe máy: 52 3.2 Chụp hình camera: .53 3.3 Tách biển số: 55 3.3.1 Tổng quan tách biển số: .55 3.3.2 Tìm vùng màu trắng: .57 3.3.3 Xác định vùng chứa biển số: 58 3.3.4 Cắt vùng chứa biển số: 59 3.3.5 Tìm góc nghiêng xoay: .60 3.3.5.1 Biến đổi Radon: 60 3.3.5.1.1 Tổng quan biến đổi Radon: 60 3.3.5.1.2 Các bước thực hiện: 61 3.3.5.2 Tìm góc nghiêng xoay: 62 3.3.6 Cắt biển số xác: 64 3.4 Phân đoạn ký tự: .64 3.4.1 Tổng quan phân đoạn ký tự: .64 3.4.2 Nhị phân biển số xe: 65 3.4.3 Chuẩn hóa biển số: 65 3.4.4 Phân đoạn ký tự: 66 3.4.4.2 Chương trình phân vùng ký tự: 68 3.5 Nhận dạng ký tự: 69 3.5.1 Tổng quát nhận dạng ký tự: 69 3.5.2 Lựa chọn phương pháp: 69 3.5.2.1 Phương pháp nhận dạng cổ điển: 69 3.5.2.2 Phương pháp ứng dụng mạng Nơron: 70 3.5.3 Giới thiệu mạng Nơron ( neural networks): 70 3.5.3.1 Khái niệm mạng Nơron: 70 3.5.3.2 Mơ hình mạng nơron nhân tạo: 3.5.3.3 Thiết kế mạng Nơron: SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A 70 71 Page 3.5.3.3.1 Thu thập liệu: 71 3.5.3.3.2 Các bước thực hiện: 71 3.5.3.4 Cơ sở ký thuyết giải thuật cho huấn luyện mạng lan truyền ngược: 71 3.5.3.4.1 Cấu trúc mạng lan tryền ngược: 71 3.5.3.4.2 Huấn luyện mạng lan truyền ngược: .74 3.5.4 Ứng dụng mạng lan truyền ngược vào nhận dạng ký tự : 75 3.5.4.1 Thiết kế mạng lan truyền ngược: 3.5.4.2 Quá trình nhận dạng: 76 76 3.5.4.3 Phương pháp tăng khả tổng quát mạng:77 3.5.4.4 Huấn luyện mạng lan truyền ngược: 78 CHƯƠNG IV: KẾT QUẢ MÔ PHỎNG CHẠY BẰNG PHẦN MỀM 80 MATLAB VÀ CODE CỦA CHƯƠNG TRÌNH 80 4.1 Kết mô chạy phần mềm matlab: .80 4.1.1 Giao diện giới thiệu chương trình: .80 4.1.2 Giao diện chương trình: 80 4.1.3 Hướng dẫn sử dụng chương trình: 81 4.1.3.1 Test ảnh thư viện: 4.1.3.1 Test ảnh camera: 81 83 4.2 Code chương trình: 84 4.2.1 Code hiển thị giao diện chương trình: 84 4.2.2 Code chương trình chính: .84 4.2.2.1 Chương trình test camera: 84 4.2.2.2 Chương trình test ảnh thư viện: KẾT LUẬN 94 TÀI LIỆU THAM KHẢO SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A 91 95 Page DANH MỤC HÌNH VẼ Hình 2.1: Sơ đồ tổng quát hệ thống xử lý ảnh 14 Hình 2.1.1.1a: Hình ảnh thể điểm ảnh 15 Hình 2.1.1.1b: ảnh màu RGB 16 Hình 2.1.1.1c:: Hình ảnh chuyển sang mức xám 16 Hình 2.1.1.1d: Ảnh nhị phân 17 Hình 2.1.1.1e:: Lượt đồ mức xám ảnh xám tương ứng 17 Hình 2.2.1.1: Hình ảnh CCD camera 19 Hình 2.2.1.2b: Hình ảnh hình video 21 Hình 2.2.1.2c: Hình ảnh máy tính 21 Hình 2.22.1: Hệ tọa độ RGB 22 Hình 2.2.3.2c: Các dạng mẫu điểm ảnh25 Hình 2.2.3.3: Khng lượng tử theo L mức xám 26 Hình 2.2.4.2: Hướng điểm biên mã tương ứng A11070110764545432 Hình 2.2.6: Biểu diễn mức xám ảnh số 29 Hình 2.3.1.1: Đường biên ảnh 31 Hình 2.3.1.2: Các bước xử lý phân tích ảnh 32 Hình 3.2.1: Tính đạo hàm theo Gradient 33 Hình 2.4.2: Lược đồ rắn lượn cách chọn ngưỡng 36 Hình 2.4.3.2: Khái niệm liên thơng liên thơng 38 Hình 2.5.3.1b: Mơ hình cấu trúc đối tượng nhà 42 Hình 2.5.3.2b: Sơ đồ tổng qt hệ thống nhận dạng 43 Hình 2.5.5.2.2a: Mơ hình nơron nhân tạo 50 Hình 3.1: Sơ đồ trình nhận dạng biển số xe máy 52 Hình 3.2.1: Hình ảnh chụp từ camera 53 Hình 3.2.2: Số điểm ảnh (pixel) 54 Hình 3.3.1a: Sơ đồ tổng quát khối tách biển số 55 Hình 3.3.1b: Sơ đồ chi tiết khối tách biển số 56 Hình 3.3.2a: Ảnh tối ảnh sáng 57 Hình 3.3.2b: Ảnh sau nhị phân 57 Hình 3.3.3a: Hình dạng biển số bị nghiêng 58 Hình 3.3.3b: Biển số sau nhị phân 59 Hình 3.3.4a: Hình thể vùng ảnh cần tách với biên an tồn 59 Hình 3.3.4b: Ảnh chụp ban đầu 59 Hình 3.3.4c: Ảnh sau cắt thơ60 Hình 3.3.5.1.1a: Phương pháp biến đổi Radon 60 Hình 3.3.5.1.1b: Hình chiếu đơn giản theo góc θ 61 Hình 3.3.5.1.1c: Phương pháp biến đổi Radon dạng hình học 61 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A 27 Page Hình 3.3.5.1.2a: Biến đổi ảnh ảnh nhị phân 61 Hình 3.3.5.1.2b: Thực biến đổi Radon ảnh biên 62 Hình 3.3.5.2a: Ảnh tách biên biên nhị phân 62 Hình 3.3.5.2b: Ảnh biển số sau xoay phương thẳng đứng 63 Hình 3.3.5.2c: Giải thuật tìm góc nghiêng biển số 63 Hình 3.3.6: Biển số sau cắt hồn chỉnh 64 Hình 3.4.1: Sơ đồ khối phân đoạn ký tự 64 Hình 3.4.2: Ảnh sau nhị phân 65 Hình 3.4.3a: Ảnh biển số sau chuẩn hóa 65 Hình 3.4.3b: Thuật giải chuẩn hóa biển số 65 Hình 3.4.4a: Tổng số bít theo hàng biển số 66 Hình 3.4.4b: Hình thể thơng số Min_area 67 Hình 3.4.4c: Hình thể thơng số Digit_width 67 Hình 3.4.4d: Các ký tự cắt khỏi biển số 67 Hình 3.4.4e: Giải thuật phân vùng ký tự 68 Hình 3.5.3.1: Mơ tả tốn học tổng qt mạng Nơron 70 Hình 3.5.3.2a: Nơron ngõ vào 71 Hình 3.5.3.2b: Nơron nhiều ngõ vào 71 Hình 3.5.3.4.1a: Cấu tạo nơron 72 Hình 3.5.3.4.1b: Hàm truyền logsig 72 Hình 3.5.3.4.1c: Hàm truyền tansig 72 Hình 3.5.3.4.1d: Hàm truyền purelin (tuyến tính) 73 Hình 3.5.3.4.1e: Cấu trúc mạng lớp 73 Hình 3.5.3.4.1f: Cấu trúc mạng lớp 74 Hình 3.5.4.1: Cấu trúc mạng dùng để nhận dạng ký tự số 76 Hình 3.5.4.2: Hình minh họa hoạt động mạng nhận dạng Hình 3.5.4.3a: Trường hợp khớp 77 Hình 3.5.4.3b: Hàm xấp xỉ mạng ngừng học sớm 78 Hình 3.5.4.4: Hàm lỗi ngừng học sớm để huấn luyện mạng 79 Hình 4.1.1: Giao diện giới thiệu chương trình chạy matlab Hình 4.1.2: Giao diện chương trình chạy matlab 80 Hình 4.1.3: Hướng dẫn bật giao diện 81 Hình 4.1.3.1a: Hướng dẫn chọn ảnh thư viện 81 Hình 4.1.3.1b: Chọn ảnh thư viện 82 Hình 4.1.3.1c: Kết nhận dạng 82 Hình 4.1.3.1d: Kết xuất file Excel 82 Hình 4.1.3.2a: Chọn camera 83 Hình 4.1.3.2b: Chọn mở camera 83 Hình 4.1.3.2c: Chọn chạy để nhận dạng biển số 84 Hình 1.3.2d: Kết xuất Excel 84 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A 77 80 Page DANH MỤC BẢNG BIỂU Bảng 2.5.4.1a: Các từ vựng ngôn ngữ PLD 45 Bảng 2.5.4.1b Các phép tốn ngơn ngữ PLD 46 Bảng 2.5.5.2.1: So sánh khả làm việc não máy tính Bảng 2.5.5.2.2b: Các hàm truyền H(s) thường dùng 51 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A 50 Page DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Viết đầy đủ Ý nghĩa VGA Video Graphics Array Card hình hay gọi card đồ họa SXGA Super Extended Graphics Array Độ phân giải hình RGB Red-Green-Blue Đỏ- xanh lục- xanh lam CCD Charge Coupled Device Linh kiện tích điện kép VCR Videocassette recorder Thiết bị ghi hình SVGA Super Video Graphics Array Độ phân giải hình NTSC National Television System Committee Ủy ban quốc gia hệ thống truyền hình CMY Cyan- Magenta- Yellow Xanh- hồng- vàng IMG Imagine Định dạng ảnh BMP Bitmap Định dạng tập tin hình ảnh GIF Graphics Interchange Format Định dạng Trao đổi Hình ảnh JPEG Joint Photographic Experts Group Nén hình ảnh SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến chỉ bảo nhiệt tình của thầy bạn bè Em xin gửi lời cảm ơn chân thành đến thầy Th.s Nguyễn Tường Thành, giảng viên môn kỹ thuật điện tử truyền thông khoa Kỹ thuật công nghệ trường Đại học Quy Nhơn, người đã tận tình hướng dẫn, chỉ bảo em suốt trình em làm đồ án Em cũng xin chân thành cảm ơn thầy trường Đại học Quy Nhơn nói chung Khoa kỹ thuật cơng nghệ nói riêng đã dạy dỗ cho em kiến thức môn đại cương cũng môn chuyên ngành, giúp em có được sở lý thuyết vững vàng tạo điều kiện cho em hoàn thành đồ án tốt nghiệp Cuối cùng, em xin chân thành cảm ơn gia đình bạn bè, đã ln tạo điều kiện, quan tâm, giúp đỡ, động viên em suốt trình học tập hoàn thành đồ án tốt nghiệp Em xin chân thành cảm ơn!! Sinh viên thực Hồ Xuân Hiền SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page LỜI MỞ ĐẦU Xử lý nhận dạng ảnh lĩnh vực từ lâu được nhiều người quan tâm Nó đã được ứng dụng vào nhiều lĩnh vực như: - Trong y học, cải thiện ảnh X- quang nhận dạng đường biên mạch máu từ ảnh chụp tia X , ứng dụng vào xét nghiệm lâm sang phát nhận dạng u não, nội soi cắt lớp… - Trong thiên văn học, hệ thống chụp hình gắn tàu vũ trụ hạn chế kích thước trọng lượng, chất lượng hình ảnh nhận được bị giảm chất lượng bị mờ, méo hình học nhiễu Các hình ảnh được xử lý máy tính - Trong lĩnh vực cơng nghiệp, người máy ngày đóng vai trò quan trọng Chúng thực cơng việc nguy hiểm, đòi hỏi có tốc độ độ xác cao vượt khả người Người máy trở nên tinh vi thị giác máy tính đóng vai trò quan trọng Người ta khơng chỉ đòi hỏi người máy phát nhận dạng phận cơng nghiệp mà phải “hiểu ” được những chúng “ thấy ” đưa hành động phù hợp Xử lý ảnh tác động đến thị giác của máy tính - Ngồi ra, xử lý nhận dạng được ứng dụng lĩnh vực khác được nói đến Cơng an giao thông thường hay chụp ảnh môi trường không thuận lợi, ảnh thường bị nhòe nên cần được xử lý nhận dạng để nhìn thấy biển số xe Trong đồ án tốt nghiệp em xin trình bày đề tài Nhận dạng, phân loại, xử lý ảnh biển số xe phần mềm Em xin chân thành cảm ơn Th.s Nguyễn Tường Thành đã tận tình hướng dẫn em suốt thời gian làm đồ án quý thầy cô khoa Kỹ thuật công nghệ trường Đại học Quy Nhơn đã truyền dạy những kiến thức quý báu chương trình đào tạo đại học quy giúp đỡ kinh nghiệm cho đồ án hoàn thành được thuận lợi SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 10 Nhấn vào “Main” để bật giao diện của chương trình Hình 4.1.3: Hướng dẫn bật giao diện 4.1.3.1 Test ảnh thư viện: Chọn “ Ảnh thư viện” Hình 4.1.3.1a: Hướng dẫn chọn ảnh thư viện Chọn ảnh thư viện SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Nhấn “Open” Page 82 Hệ thống tự động nhận dạng xuất kết dạng text Hình 4.1.3.1b: Chọn ảnh thư viện Kết nhận được: Hình 4.1.3.1c: Kết nhận dạng Kết xuất file Excel: Hình 4.1.3.1d: Kết xuất file Excel 4.1.3.1 Test ảnh camera: SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 83 Chọn camera “1” Hình 4.1.3.2a: Chọn camera Chọn “Mở camera” Hình 4.1.3.2b: Chọn mở camera SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 84 Chọn “Chạy” để nhận dạng biển số Hình 4.1.3.2c: Chọn chạy để nhận dạng biển số Kết xuất file Excel: Hình 1.3.2d: Kết xuất Excel 4.2 Code chương trình: 4.2.1 Code hiển thị giao diện chương trình: function axes2_CreateFcn(hObject, eventdata, handles) % hObject handle to axes2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called imshow('logoa.jpg'); function axes3_CreateFcn(hObject, eventdata, handles) % hObject handle to axes3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called imshow('logokhoa.jpg'); % Hint: place code in OpeningFcn to populate axes3 4.2.2 Code chương trình chính: 4.2.2.1 Chương trình test camera: Chương trình nhấn chọn camera SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 85 % - Executes on button press in get_camera function get_camera_Callback(hObject, eventdata, handles) % hObject handle to get_camera (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hint: get(hObject,'Value') returns toggle state of get_camera global vid if get(hObject,'value') if ~isempty(vid)&& strcmp('on',get(vid,'Running')) set(handles.run_button,'enable','on'); set(handles.off_line_,'enable','off'); set(handles.analysic_button,'enable','off'); set(handles.radiobutton1,'value',0); else errordlg('Camera chua san sang, chon lai camera!'); set(hObject,'value',0); end else set(handles.run_button,'enable','off'); set(handles.off_line_,'enable','on'); set(handles.analysic_button,'enable','on') end Chương trình chụp ảnh từ camera % - Executes on button press in pushbutton40 function pushbutton40_Callback(hObject, eventdata, handles) % hObject handle to pushbutton40 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) stop(handles.timer1); global ID; global vid; global data vid=videoinput('winvideo',ID,'YUY2_640x480','returnedcolorspace','rgb'); vid.TriggerRepeat = Inf; triggerconfig(vid, 'manual'); set(vid,'Framespertrigger',1); start(vid); set(handles.run_button,'enable','on'); start(handles.timer1); data.check=1; Chương trình nhận dạng test camera % - Executes on button press in run_button function run_button_Callback(hObject, eventdata, handles) % hObject handle to run_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global data; global vid stop(handles.timer1); trigger(vid); data.rgb=getdata(vid); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 86 try xu_ly(hObject,eventdata,handles); catch e errordlg(e.message); start(handles.timer1); end start(handles.timer1); Chương trình xuất kết Excel % - Executes on button press in pushbutton39 function pushbutton39_Callback(hObject, eventdata, handles) % hObject handle to pushbutton39 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global data; set(hObject,'Enable','off'); pause(0.25); xlswrite('data.xls',data.TD); winopen('data.xls'); set(hObject,'Enable','off'); Lưu kết Excel % - Executes on button press in save_button function save_button_Callback(hObject, eventdata, handles) % hObject handle to save_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) s=get(handles.name_edit,'string'); s=sprintf('%s.xls',s); xlswrite(s,handles.result); set(handles.open_button,'enable','on'); Chương trình cắt biển số xe máy: % - Executes on button press in recognize_button function recognize_button_Callback(hObject, eventdata, handles) % hObject handle to recognize_button (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) X=''; for i=1:length(handles.digits1) x=my_num_recog(handles.digits1{i},handles.numbers,handles.chars,1); X=cat(2,X,x); end Y=''; for i=1:length(handles.digits2) y=my_num_recog(handles.digits2{i},handles.numbers,handles.chars,2); Y=cat(2,Y,y); end s=sprintf('%s - %s',X,Y); handles.count=handles.count+1; handles.result{handles.count,1}=s; set(handles.result_text,'string',s); set(handles.save_button,'enable','on'); guidata(hObject,handles); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 87 Chương trình tách biển số: function [im1,im2]=tach1( rgb ) %TACH1 Summary of this function goes here % Detailed explanation goes here g=rgb2gray(rgb); g=imadjust(g); % g1=255-g; g1=imadjust(g,[0 1],[1 0],2); g1=imadjust(g1); g1=imclearborder(g1,8); g1=imadjust(g1); bw=edge(g1,'canny'); bw=imdilate(bw,[0 0; 1 1; 0]); bw=imfill(bw,'holes'); bw=imopen(bw,strel('disk',2)); stat=regionprops(bw,'Area','Image','BoundingBox','Centroid'); count=0; for i=1:length(stat) a=stat(i).Area; % Dien tich cac doi tuong b=stat(i).Image;% anh crop cua cac doi tuong d=stat(i).BoundingBox(1:2);% Khung bao cua cac doi tuong [r,c]=size(b);% Lay kich thuoc if r>c && c>0.2*r&& c=9 % truong hop phat hien nhieu hon doi tuong ts=t(end-8:end,:);% lay doi tuong co dien tich lon nhat su=sum(ts(:,3))/9; for i=1:9 if ts(i,3)>0.2*su; count=count+1; ts1(count,:)=ts(i,:); end end else ts1=t; end ts1=sortrows(ts1,4); t1=ts1(1:4,:); t1=sortrows(t1,5); t2=ts1(5:end,:); t2=sortrows(t2,5); n1=size(t1,1); im1=cell(1,n1); n2=size(t2,1); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 88 im2=cell(1,n2); for i=1:n1 a=(stat(t1(i,2)).BoundingBox); b=imcrop(rgb,a); b=rgb2gray(b); b=imadjust(b); b=imadjust(b,[0 1],[1 0],2); b=im2bw(b); b=my_BwTrim(b); b=imopen(b,strel('disk',1)); im1{i}=b; end for i=1:n2 a=(stat(t2(i,2)).BoundingBox); b=imcrop(rgb,a); b=rgb2gray(b); b=imadjust(b); b=imadjust(b,[0 1],[1 0],2); b=im2bw(b); b=my_BwTrim(b); b=imopen(b,strel('disk',1)); im2{i}=b; end end Chương trình biến đổi ảnh vào thành ảnh nhị phân function y = inputanh(rgb) %INPUTANH Summary of this function goes here % Detailed explanation goes here gray=rgb2gray(rgb); % chuyen anh mau anh xam gray=imadjust(gray);% can bang cuong sang [row,col]=size(gray);% Lay kich thuoc anh cp=[round(row/2),round(col/2)];% toa diem tam de=round(0.01*row);% khoang cong tru cm1=cp(1)-de:cp(1)+de;% khoang thoa man theo hang cm2=cp(2)-de:cp(2)+de;% khoang thoa man theo cot doituongnho=round(0.02*row*col);% so diem anh doi tuong nho biensonho=[round(0.08*row),round(0.08*19*row/14)];% bien so duoc cho la nho thresh=0; % khoi tao nguong check=0; % khoi tao kiem tra while check==0 thresh=thresh+0.01; if thresh==1 msgbox('Khong phat hien duoc bien so'); break; else bw=im2bw(gray,thresh); bw=bwareaopen(bw,doituongnho); bw=imfill(bw,'holes'); bw=imclearborder(bw,4); bw=imopen(bw,strel('rectangle',biensonho)); [L,n]=bwlabel(bw); % close all;imshow(bw); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 89 if n>0 for i=1:n [row1,col1]=find(bw==i); a=sum(ismember(cm1,row1)); b=sum(ismember(cm2,col1)); stat=regionprops((L==i),'BoundingBox');%xac dinh hinh chu nhat bao quanh try mat=stat.BoundingBox; if a>0&&b>0&&mat(4)0 S1=''; for i=1:n1 set(gcf,'CurrentAxes',handles.tren{i}); im1{i}=imresize(im1{i},[90,40]); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 93 switch i case x=my_num_recog(im1{i},numbers); S1=cat(2,S1,x); case x=my_num_recog(im1{i},numbers); S1=cat(2,S1,x); case x=my_num_recog(im1{i},chars); S1=cat(2,S1,x); case x=my_num_recog(im1{i},numbers); S1=cat(2,S1,x); end imshow(im1{i}); end end n2=length(im2); if n2>0 S2=''; for i=1:n2 set(gcf,'CurrentAxes',handles.duoi{i}); im2{i}=imresize(im2{i},[90,40]); x=my_num_recog(im2{i},numbers); S2=cat(2,S2,x); imshow(im2{i}); end end set(handles.result_text,'string',sprintf('%s-%s',S1,S2)); data.count=data.count+1; a=clock; s1=sprintf('%d - %d - %d',a(3),a(2),a(1)); s2=sprintf('%d:%d:%d',a(4),a(5),round(a(6))); data.TD{data.count,1}=num2str(data.count-1); data.TD{data.count,2}=s1; data.TD{data.count,3}=s2; data.TD{data.count,4}=sprintf('%s-%s',S1,S2); set(handles.uitable1,'Data',data.TD); pause(0.25); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 94 5.2.1 KẾT LUẬN Độ xác của chương trình nhận dạng biển số xe phụ thuộc vào ánh sáng môi trường Tuy nhiên yếu tố ta điều chỉnh được Do thời gian làm đề tài đồ án tốt nghiệp có giới hạn nên việc làm đồ án nhận dạng biển số xe nhiều sai sót mong thầy thơng cảm Chương trình được viết MATLAB đã giải được tốn nhận dạng ký tự thơng qua lý thuyết xử lý ảnh, qua cũng giải được yêu cầu của đề tài đồ án đề Để giải khó khăn của đề tài, người thực xin đề xuất số ý kiến sau đây: Sử dụng camera chuyên dụng Thiết lập môi trường ổn định xung quanh để làm tăng độ xác của ảnh chụp ( xác định vị trí cố định để chụp ảnh) Qua đề tài lần nữa em xin chân thành cảm ơn thầy Th.s Nguyễn Tường Thành đã tận tình hướng dẫn chỉ bảo em suốt khoảng thời gian qua để em hồn thành tốt đề tài đồ án tốt nghiệp của Bản thân em cũng đã có nhiều cố gắng để tìm hiểu nội dung nghiên cứu Tuy nhiên, việc nghiên cứu đề tài cũng phức tạp thời gian có hạn nên việc nghiên cứu cặn kẽ tất khía cạnh của đề tài khó khăn Do chắn đồ án khơng tránh khỏi những thiếu sót Rất mong sự đóng góp ý kiến của thầy cô giáo cùng bạn để đồ án của em được hoàn thiện Em xin chân thành cảm ơn! Sinh viên thực đề tài Hồ Xuân Hiền SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 95 TÀI LIỆU THAM KHẢO [1] PGS.TS Nguyễn Quang Hoan (2006), Giáo trình xử lý ảnh, Học viện cơng nghệ bưu viễn thông, Xuất Bản Hà Nội [2] Lương Mạnh Bá, Nguyễn Thanh Thủy (2000), Nhập môn xử lý ảnh số, Đại Học Bách Khoa Hà Nội, Giáo dục [3] Thầy Nguyễn Thanh Hải, Giáo trình Xử lý ảnh (tiếng Anh), Đại học Sư phạm kỹ thuật thành phố Hồ Chí Minh [4] IPLab Project, , Xem 3/12/2018 [5] < http://vi.wikipedia.org/wiki>, Xem 25/10/2018 [6] , Xem lần cuối 10/12/2018 [7] , Xem 14/11/2018 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 96 ... thống nhận dạng biển số xe ứng dụng dựa kỹ thuật xử lí ảnh số Mục đích của nhận dạng biển số xe thực bước xử lí để từ ảnh đầu vào, máy tính nhận xác biển số xe ảnh Nhận dạng biển số xe. .. trông giữ xe để phân công họ vào việc khác Từ những lý em định lựa chọn đề tài Nhận dạng, phân loại, xử lý ảnh biển số xe phần mềm 1.2 Lịch sử nghiên cứu: Các phương pháp xử lý ảnh bắt đầu... xử lí: phân vùng biển số, tách ký tự, nhận biết kí tự, phần mềm quản lý sở dữ liệu biển số xe máy Mục đích của phần mềm quản lý sở dữ liệu biển số xe máy thu nhận chuỗi biển số sau