0

HỆ THỐNG NHẬN DẠNG BIỂN số TRONG mô HÌNH bãi GIỮ XE tự ĐỘNG, có CODE

33 4 0
  • HỆ THỐNG NHẬN DẠNG BIỂN số TRONG mô HÌNH bãi GIỮ XE tự ĐỘNG, có CODE

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

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 14/05/2022, 21:01

HỆ THỐNG NHẬN DẠNG BIỂN SỐ TRONG MƠ HÌNH BÃI GIỮ XE TỰ ĐỘNG, CÓ CODE HỆ THỐNG NHẬN DẠNG BIỂN SỐ TRONG MƠ HÌNH BÃI GIỮ XE TỰ ĐỘNG TĨM TẮT Hệtrí thống biển mơ hình bãi giữ xe tựbiển động ứng dụng ảnh để nhiều nhận dạng vị biển số vàdạng tiếnthống hànhsố vẽ đường viền khoanh vùng số , cắt biển số vàtrong tiến hànhgiữ xửxe lýđược đọc biển số tựnhận động Hệ sau áp dụng vào hình thực tế xử lý mang lại lợi ích nhiều cho người dân việc đápkhi ứng nhu cầu tiện lợi, tựmô động nhanh chóng việc MỤC LỤC MỤC LỤC HÌNH ẢNH CHƯƠNG TỔNG QUAN ĐỀ TÀI 1.1 Giới thiệu đề tài Hiện nay, tình trạng giao thơng ngày dày đặc, số lượng phương tiện giao thông người dân sử dụng ngày gia tăng Việc kéo theo nhu cầu chỗ giữ xe phương tiện giao thơng ngày tăng theo Vì việc xây dựng bãi xe với nhiều mơ hình lớn, nhỏ ngày xuất nhiều trung tâm thành phố Đặc biệt, việc xây dựng bãi giữ xe tòa chung cư cho cư dân tòa nhà trở thành việc tất yếu cần thiết Bên cạnh đó, với phát triển với khoa học kĩ thuật đại bãi giữ xe truyền thống điều khiển cách tự động với chức thông minh Vì em tiến hành thực đề tài “ Hệ thống nhận dạng biển số mơ hình bãi giữ xe tự động” Với đề tài giúp cho thay cho mơ hình bãi giữ xe truyền thống mơ hình bãi giữ xe tự động với chức tự động xác định biển số camera ứng dụng xử lý ảnh để nhận dạng biển số xe Từ hệ thống nhận dạng biển số bãi giữ xe hoạt động cách tự động, thuận tiện cho người dân vào bãi giữ xe 1.1 Mục đích nghiên cứu - Dựa kiến thức học mơn xử lý ảnh - Đồng thời tìm hiểu thêm kiến thức lập trình Visual Studio Code với ngơn ngữ lập trình Python thư viện OpenCV 1.2 Đối tượng nghiên cứu - Ngơn ngữ lập trình Python - Thư viện OpenCV - Các hàm xử lý ảnh Môi trường lập trình Visual Studio Code SVTH: TRẦN LÊ ĐÌNH TRỌNG 1.3 Phạm vi nghiên cứu Với góc độ đồ án chuyên ngành, hạn chế nhiều mặt thời gian kinh phí thực mơ hình nên giới hạn tới việc ứng dụng xử lý ảnh để nhận dạng đọc biển số xe chuẩn bị thơng qua camera máy tính 1.4 Dự kiến kết Hệ thống camera máy tính bật Sau đó, biển số xe chuẩn bị đưa vào camera từ phần mềm lập trình hoạt động, tự động xác định biển số xe đưa vào hệ thống xử lý ảnh để xác định khung biển số xe tiến hành nhận dạng hiển thị kết biển số xe theo yêu cầu đặt CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu xử lý ảnh 2.1.1 Một số khái niệm a Ảnh số điể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 - Điểm ảnh ( Pixel) phần tử ảnh số tọa độ (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 Hình 2.1 Điểm ảnh b Sắc màu ảnh - Các màu sắc sở dùng để biểu diễn ảnh màu tạo thành hệ thống màu đề xuất dựa nghiên cứu nhận thức thị giác người - Hệ màu RGB (red, green, blue) mơ hình phổ biến nhất, đóm ỗi điểm ảnh biểu diễn giá trị số thuộc khoảng [0 255] c Mức xám - 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 - Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 d Độ sâu màu ảnh - Độ sâu màu ảnh đại lượng mô tả khả biểu diễn màu sắc ảnh số hiển thị thiết bị hình in ấn Đại lượng tính số bit cần dùng để biểu diễn cho điểm ảnh - Có thể phân biệt loại ảnh: màu, xám, nhị phân qua độ sâu màu với ảnh nhị phân 1, ảnh xám 8, ảnh màu 24 32 e Độ phân giải ảnh - Độ phân giải ảnh mật độ điểm ảnh ấn địn ảnh số dược hiển thị f Xử lý ảnh số - Xử lý ảnh lĩnh vực khoa học công nghệ chuyên nghiên cứu thay đổi trạng thái ban đầu ảnh nhằm: ● Cải thiện thông tin ảnh trực quan theo cách hiểu người nén ảnh ● Làm cho phù hợp với tri giác máy ⇨ Đây khía cạnh riêng quan trọng xử lý ảnh 2.1.2 Các bước hệ thống xử lý ảnh Hình 2.2 Sơ đồ bước xử lý ảnh - Khối thu nhận ảnh: có nhiệm vụ tiếp nhận ảnh đầu vào - Khối tiền xử lý: có nhiệm vụ xử lý nâng cao chất lượng ảnh giảm nhiễu, phân vùng, tìm biên v.v - Khối trích chọn đặc điểm: có nhiệm vụ trích chọn đặc trưng quan trọng ảnh tiền xử lý để sử dụng hệ định - Khối hậu xử lý: có nhiệm vụ xử lý đặc điểm trích chọn, lược bỏ biến đổi đặc điểm để phù hợp với kỹ thuật cụ thể sử dụng hệ định - Khối hệ định lưu trữ: có nhiệm vụ đưa định (phân loại) dựa dự liệu học lưu khối lưu trữ - Khối kết luận: đưa kết luận dựa vào định khối định 2.2 Môi trường lập trình Visual Studio Code 2.2.1 - Khái niệm Visual Studio Code (VS Code) trình soạn thảo mã nguồn mở gọn nhẹ có khả vận hành mạnh mẽ tảng Windows, Linux macOS phát triển Microsoft Nó hỗ trợ cho JavaScript, Node.js Python, cung cấp hệ sinh thái mở rộng vô phong phú cho nhiều ngôn ngữ lập trình khác Hình 2.3 Logo Visual Studio Code 2.2.2 - Các tính Visual Studio Code Hỗ trợ nhiều ngơn ngữ lập trình ● Visual Studio Code hỗ trợ nhiều ngơn ngữ lập trình C/C++, C#, F#, Visual Basic, HTML, CSS, JavaScript, … Vì vậy, dễ dàng phát đưa thông báo chương chương trình có lỗi - Hỗ trợ đa tảng ● Các trình viết code thơng thường sử dụng cho Windows Linux Mac Systems Nhưng Visual Studio Code hoạt động tốt ba tảng - Cung cấp kho tiện ích mở rộng ● Trong trường hợp lập trình viên muốn sử dụng ngơn ngữ lập trình khơng nằm số ngôn ngữ Visual Studio hỗ trợ, họ tải xuống tiện ích mở rộng Điều không làm giảm hiệu phần mềm, phần mở rộng hoạt động chương trình độc lập - Kho lưu trữ an tồn ● Đi kèm với phát triển lập trình nhu cầu lưu trữ an toàn Với Visual Studio Code, người dùng hồn tồn n tâm dễ dàng kết nối với Git kho lưu trữ có - Hỗ trợ web ● Visual Studio Code hỗ trợ nhiều ứng dụng web Ngồi ra, có trình soạn thảo thiết kế website - Lưu trữ liệu dạng phân cấp ● Phần lớn tệp lưu trữ đoạn mã đặt thư mục tương tự Ngồi ra, Visual Studio Code cịn cung cấp thư mục cho số tệp đặc biệt quan trọng - Hỗ trợ viết Code ● Một số đoạn code thay đổi chút để thuận tiện cho người dùng Visual Studio Code đề xuất cho lập trình viên tùy chọn thay có - Hỗ trợ thiết bị đầu cuối ● Visual Studio Code có tích hợp thiết bị đầu cuối, giúp người dùng khỏi phải chuyển đổi hai hình trở thư mục gốc thực thao tác - Màn hình đa nhiệm ● Người dùng Visual Studio Code mở lúc nhiều tệp tin thư mục – chúng không liên quan với - Intellisense ● Hầu hết trình viết mã có tính nhắc mã Intellisense, chương trình chun nghiệp Visual Studio Code Nó phát đoạn mã không đầy đủ Thậm chí, lập trình viên qn khơng khai báo biến, Intellisense tự động giúp họ bổ sung cú pháp cịn thiếu Hình 3.8 Giao diện khởi động Visual Studio Code 3.2.2 Cài đặt Python - Bước 1: Truy cập vào đường link: https://www.python.org/downloads/ để cài đặt Python Hình 3.9 Giao diện tải Python - Bước 2: Tiến hành mở file tải cài đặt chương trình vào máy tính Hình 3.10 Giao diện mở file tải Python Hình 3.11 Giao diện thêm tính cần thiết cho Python Hình 3.12 Giao diện chọn đường dẫn dể cài đặt Python Hình 3.13 Giao diện cài đặt Python - Bước 3: Kiểm tra Python cài đặt vào máy tính Hình 3.14 Giao diện kiểm tra cài đặt Python 3.2.3 Cài đặt thư viện OpenCV thư viện cần thiết khác Hình 3.15 Giao diện cài đặt OpenCV Hình 3.16 Giao diện cài đặt Pytessereract 3.2.4 Viết chương trình nhận dạng biển số xe CHƯƠNG GIẢI THUẬT VÀ ĐIỀU KHIỂN 4.1 Nguyên lý làm việc hệ thống - Tiến hành khởi động máy tính - Kết nối camera máy tính với phần mềm thiết kế - Tiến hành mở môi trường làm việc Visual Studio Code - Khởi động chương trình cho hệ thống bắt đầu hoạt động - Đưa ảnh biển số vào trước camera máy tính - Hệ thống bắt đầu khoanh vùng chứa biển số xác định vị trí biển số xe - Sau xác định vùng chứa biển số xe hệ thống tiến hành xử lý nhận dạng đọc biển số xe - Biển số xe sau đọc hiển thị hình 4.2 Lưu đồ giải thuật SAI Hình 4.1 Lưu đồ giải thuật HIỂN THỊ SỐ XE CHƯƠNG THỰC NGHIỆM 5.1 Các bước tiến hành thực nghiệm - Bước 1: Khởi động chương trình cho hệ thống hoạt động - Bước 2: Đưa ảnh biển số xe vào camera, hệ thống tiến hành nhận dạng xác định vị trí biển số xe - Bước 3: Hệ thống tiến hành cắt ảnh biến số xe đưa vào xử lý đọc biển số xe - Bước 4: Biển số xe hiển thị hình - Bước 5: Nhấn tắt chương trình để hệ thống dừng lại 5.2 Kết thực nghiệm Hình 5.1 Khởi động chương trình cho hệ thống Hình 5.2 Đưa biển số xe vào camera hệ thống tiến hành nhận dạng xác định biển số Hình 5.3 Hệ thống tiến hành cắt biển số xe đọc biển số xe Hình 5.4 Biển số xe hiển thị CHƯƠNG 6: KẾT LUẬN 6.1 Ưu điểm - Tốc độ xử lý nhanh - Hệ thống hoạt động cách tự động - Tiết kiệm thời gian - Mang tính kinh tế cao 6.2 Nhược điểm - Độ xác nhận diện biển số đọc biển số có sai sót phụ thuộc nhiều vào độ sáng độ rõ nét ảnh đầu vào 6.3 Hệ thống mơ hình thiết kế chưa hoàn chỉnh Hướng phát triển - Lưu liệu biển số đọc dược tiến hành dịnh danh liệu cư dân - Thiết kế, xây dựng thêm ứng dụng cụ thể để thao tác trực tiếp ứng dụng - Xây dựng hoàn chỉnh mơ hình hệ thống bãi giữ xe ứng dụng xử lý ảnh Hệ thống nhận dạng biển số mô hình bãi giữ xe tự động SVTH: TRẦN LÊ ĐÌNH TRỌNG PHỤ LỤC import cv2 import pytesseract cap = cv2.VideoCapture(0) while(True): ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) thresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 2) cv2.putText(frame, "KHUNG BIEN SO", (40, 40), cv2.FONT_HERSHEY_COMPLEX, 1, (0, 0, 0)) contours, h = cv2.findContours(thresh, 1, 2) largest_rectangle = [0, 0] for cnt in contours: lenght = 0.01 * cv2.arcLength(cnt, True) approx = cv2.approxPolyDP(cnt, lenght, True) if len(approx) == 4: area = cv2.contourArea(cnt) if area > largest_rectangle[0]: largest_rectangle = [cv2.contourArea(cnt), cnt, approx] Hệ thống nhận dạng biển số mơ hình bãi giữ xe tự động SVTH: TRẦN LÊ ĐÌNH TRỌNG x, y, w, h = cv2.boundingRect(largest_rectangle[1]) image = frame[y:y + h, x:x + w] cv2.drawContours(frame, [largest_rectangle[1]], 0, (0, 255, 0), 8) cropped = frame[y:y + h, x:x + w] cv2.putText(frame, "BIEN SO", (x, y), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0, 0, 255)) cv2.imshow('Dinh Vi Bien So Xe', frame) cv2.drawContours(frame, [largest_rectangle[1]], 0, (255, 255, 255), 18) pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract- OCR\\tesseract.exe' gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) blur = cv2.GaussianBlur(gray, (3, 3), 0) thresh = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] cv2.imshow('Bien So Xe', thresh) kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) opening = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel, iterations=1) invert = 255 - opening data = pytesseract.image_to_string(invert, lang='eng', config=' psm 6') Hệ thống nhận dạng biển số mơ hình bãi giữ xe tự động SVTH: TRẦN LÊ ĐÌNH TRỌNG print("Bien So Xe: ") print(data) key = cv2.waitKey(100) if key == 27: break cap.release() cv2.destroyAllWindows() Hệ thống nhận dạng biển số mơ hình bãi giữ xe tự động SVTH: TRẦN LÊ ĐÌNH TRỌNG ...HỆ THỐNG NHẬN DẠNG BIỂN SỐ TRONG MƠ HÌNH BÃI GIỮ XE TỰ ĐỘNG TĨM TẮT Hệtrí thống biển mơ hình bãi giữ xe t? ?biển động ứng dụng ảnh để nhiều nhận dạng vị biển số v? ?dạng tiếnthống hànhsố vẽ... giữ xe truyền thống mơ hình bãi giữ xe tự động với chức tự động xác định biển số camera ứng dụng xử lý ảnh để nhận dạng biển số xe Từ hệ thống nhận dạng biển số bãi giữ xe hoạt động cách tự động,. .. hệ thống hoạt động - Bước 2: Đưa ảnh biển số xe vào camera, hệ thống tiến hành nhận dạng xác định vị trí biển số xe - Bước 3: Hệ thống tiến hành cắt ảnh biến số xe đưa vào xử lý đọc biển số xe
- Xem thêm -

Xem thêm: HỆ THỐNG NHẬN DẠNG BIỂN số TRONG mô HÌNH bãi GIỮ XE tự ĐỘNG, có CODE ,