Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 101 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
101
Dung lượng
4,26 MB
Nội dung
MỤC LỤC MỤC LỤC DANH MỤC HÌNH VẼ .5 DANH MỤC BẢNG BIỂU .7 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 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 2.2.4.1 Biểu diễn mã loạt dài: 26 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: 30 2.2.6.2 Ảnh màu: 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: 33 2.3.2.2 Kỹ thuật Laplace: 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 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 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 2.5.4.2 Phương pháp nhận dạng theo cấu trúc: 46 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: 70 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 3.5.3.3 Thiết kế mạng Nơron: 71 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: 76 3.5.4.2 Quá trình nhận dạng: 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: .81 4.1.3.1 Test ảnh camera: 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: 91 KẾT LUẬN .94 TÀI LIỆU THAM KHẢO .95 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A 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 ảnh 25 Hình 2.2.3.3: Khuông 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 27 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 quát 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 toà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 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 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 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 hoà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 77 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 80 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 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page Hình 1.3.2d: Kết xuất Excel 84 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 50 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 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 và chỉ bảo nhiệt tình của thầy cô và 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 bộ môn kỹ thuật điện tử truyền thông khoa Kỹ thuật và 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 quá trình em làm đồ án Em cũng xin chân thành cảm ơn các thầy cô trường Đại học Quy Nhơn nói chung và Khoa kỹ thuật và công nghệ nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng các môn chuyên ngành, giúp em có được sở lý thuyết vững vàng và tạo điều kiện cho em hoàn thành đồ án tốt nghiệp này Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã tạo điều kiện, quan tâm, giúp đỡ, động viên em suốt quá trình học tập và hoàn thành đồ án tốt nghiệp Em xin chân thành cảm ơn!! Sinh viên thực hiện 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 nhiều người quan tâm Nó ứ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 nh phát hi ện 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 ế v ề kích thước trọng lượng, chất lượng hình ảnh nhận bị giảm chất lượng bị mờ, méo hình học nhiễu Các hình ảnh xử lý b ằng 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 h ơn th ị giác máy tính đóng vai trò quan trọng Người ta khơng đòi hỏi người máy phát nhận dạng phận cơng nghiệp mà phải “hi ểu ” chúng “ thấy ” đưa hành động phù hợp Xử lý ảnh tác đ ộng đến thị giác máy tính - Ngồi ra, xử lý nhận dạng ứng dụng lĩnh vực khá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 xử lý nhận dạng đ ể có th ể 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 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 thuận lợi SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 10 4.1.3 Hướng dẫn sử dụng chương trình: Nhấn vào “Main” để bật giao diện 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 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 87 Chọn ảnh thư viện Nhấn “Open” 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 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 88 4.1.3.1 Test ảnh camera: 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 89 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 90 % - 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 91 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'); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 92 guidata(hObject,handles); 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); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 93 n2=size(t2,1); 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); SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 94 % close all;imshow(bw); 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 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 98 set(gcf,'CurrentAxes',handles.tren{i}); im1{i}=imresize(im1{i},[90,40]); 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); 5.2.1 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 99 KẾT LUẬN Độ xác 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 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 viết MATLAB giải toán nhận dạng ký tự thông qua lý thuyết xử lý ảnh, qua giải yêu cầu đề tài đồ án đề Để giải khó khăn đề 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 ảnh chụp ( xác định vị trí cố định để chụp ảnh) Qua đề tài lần 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 bảo em suốt khoảng thời gian qua để em hoàn thành tốt đề tài đồ án tốt nghi ệp c Bản thân em 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 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 đề tài khó khăn Do chắn đồ án không tránh khỏi thiếu sót Rất mong đóng góp ý ki ến c thầy cô giáo bạn để đồ án em 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 100 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] , 14/11/2018 SVTH: Hồ Xuân Hiền Lớp: KT ĐT-TT K37A Page 101 Xem ... niệm Pixel để biểu diễn phần tử ảnh Ở đây, cần phân biệt khái niệm pixel hay đề cập đến hệ thống đồ họa máy tính Để tránh nhầm lẫn ta tạm thời gọi khái niệm pixel pixel thiết bị Khái niệm pixel... nhận dạng biển số xe ứng dụng dựa kỹ thuật xử lí ảnh số Mục đích nhận dạng biển số xe thực bước xử lí để từ m ộ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ở thành ứng... bị xem xét sau: ta quan sát hình (trong chế độ đồ họa), hình khơng liên tục mà gồm nhiều ểm nh ỏ, g ọi pixel Mỗi pixel bao gồm cặp tọa độ x, y màu Cặp tọa đ ộ x, y t ạo nên đ ộ phân giải (resolution)