TÀI LIỆU ĐỒ ÁN XỬ LÝ ẢNH BIỂN SỐ XE SỬ DỤNG PHẦN MỀM MATLAB GUIDE

35 193 0
TÀI LIỆU ĐỒ ÁN XỬ LÝ ẢNH BIỂN SỐ XE SỬ DỤNG PHẦN MỀM MATLAB GUIDE

Đ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

SỬ DỤNG PHẦN MỀM MATLAB ĐỂ XỬ LÝ ẢNH TỪ BỨC ẢNH BIỂN SỐ BÌNH THƯỜNG SANG DẠNG KÝ TỰ. CHƯƠNG TRÌNH SỬ DỤNG NHẬN DẠNG QUANG HỌC ORC ĐỂ NHẬN DẠNG KÝ TỰ. NGOÀI RA TÀI LIỆU CÒN CÓ HƯỚNG DẪN CÁCH XỬ LÝ ẢNH SỐ CƠ BẢN NHƯ CẮT XÉN, LÀM XÁM , NHỊ PHÂN ẢNH.

XỬ LÝ ÂM THANH VÀ HÌNH ẢNH Trường Đại Học Giao Thơng Vận Tải TP Hồ Chí Minh ĐỒ ÁN MƠN XỬ LÝ ÂM THANH VÀ HÌNH ẢNH ĐỀ TÀI: XỬ LÝ ẢNH BIỂN SỐ XE BẰNG PHẦN MỀM MATLAB GVHD: CHU HỒNG HẢI SVTH: TRẦN NHỰT TÂN TD15A TP.HCM , Ngày……Tháng……Năm 2019 Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH Mục lục Trang bìa phụ Mục lục Nhận xét giáo viên Lời mở đầu Chương 1: GIỚI THIỆU VỀ ĐỀ TÀI 1.1.Lý chọn đề tài 1.2.Nội dung đề tài 1.3.Giới hạn đề tài 1.4 Mục tiêu Chương 2: CÁC DẠNG ẢNH CƠ BẢN 2.1.Ảnh Index 2.2.Ảnh grayscale 2.3.Ảnh nhị phân 2.4.Ảnh RGB 10 Chương 3: XỬ LÝ ẢNH BIỂN SỐ XE 11 3.1.Tổng quan tải ảnh lên để xử lý Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH 11 3.2.Tổng quan tách biển số 12 3.3.Tổng quan nhận dạng ký tự số 13 Chương 4: THỰC HIỆN ĐỀ TÀI TRÊN MATLAB 18 4.1 Giới thiệu giao diện gui 18 4.2 Tạo giao diện gui 18 4.3 Code chương trình matlab 20 NHẬN XÉT CỦA GIẢNG VIÊN Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH TP.HCM , Ngày……Tháng……Năm 2019 Chữ ký giảng viên Lời mở đầu Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH Xử lý nhận dạng 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 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 bị giảm chất lượng bị mờ, méo hình học nhiễu Các hình ảnh 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 đò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 để nhìn thấy biển số xe Trong báo cáo nhóm em xin trình bày ứng dụng xử lý nhận dạng số XỬ LÝ ẢNH BIỂN SỐ XE Chương 1: GIỚI THIỆU VỀ ĐỀ TÀI Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH 1.1.Lý chọn đề tài: Cùng 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 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 Một hệ thống hệ thống nhận dạng biển số xe Đó hệ thống có khả “đọc” “hiểu”các biển số xe cách tự động Trong đồ án này, nhóm xây dựng hệ thống để quản lý bãi giữ xe bãi giữ xe có vấn đề bất cập như:  Tốn nhiều nhân cơng  An tồn chưa cao, xảy tượng xe  Vé xe giấy, dễ bị hay nhàu nát 1.2 Nội dung đề tài BẮT ĐẦU TẢI ẢNH GVHD: CHU HỒNG HẢI Page | XỬ LÝ ÂM THANH VÀ HÌNH ẢNH SAI (ẢNH FULL) ẢNH BSX CẮT ẢNH ĐÚNG LÀM XÁM ẢNH NHỊ PHÂN ẢNH NHẬN DẠNG KÍ TỰ XUẤT KẾT QUẢ KẾT THÚC Sơ đồ trình nhận dạng  Thu nhập ảnh: ảnh tải lên từ máy tính Khi ảnh tải lên Có trường hợp xảy : + Ảnh toàn biển số xe Ở trường hợp ta xử lý trực tiếp + Ảnh full gồm xe, biển số xe, ngoại cảnh v.v Ở trường hợp ta phải qua bước cắt ảnh để loại bỏ bớt yếu tố dẫn đến sai lệch trình nhận dạng Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH  Cắt ảnh: ảnh full sử lý bước nhằm loại bỏ yếu tố làm sai lệch cho trình nhận dạng Để ảnh trạng thái tốt cho trình xử lý  Làm xám ảnh: đưa ảnh màu dạng ảnh xám  Nhị phân ảnh: Sau xám ảnh ta lấy loại bỏ phần mờ không rõ ràng cách lấy nhị phân ảnh Việc xử lý giúp nhận dạng ký tự cách chuẩn xác  Nhận dạng kí tự : nhận dạng kí tự biển số phương pháp nhận dạng kí tự quang học (OCR)  Kết nhận dạng: đưa kết nhận dạng biển số 1.3.Giới hạn đề tài: Việc có nhiều biển số xe với định dạng độ sáng khác gây khó khăn cho việc nhận dạng Do trình nhận dạng dựa vào phương pháp xử lý ảnh trích xuất biển số từ ảnh chụp nên độ sáng khác làm tăng độ phức tạp trình nhận dạng Do thời gian thực đề tài khơng cho phép nên nhóm giới hạn biển số điều kiện sau:  Biển số có chữ đen, trắng, có hàng  Biển số phải ngun vẹn, khơng bị tróc sơn hay rỉ sét, khơng bị che khuất  Góc nghiêng biển số khơng q 450 so với phương ngang  Hình chụp biển số không bị mờ, ký tự biển số phân biệt, nhận dạng trực quan  Không bị nhiễu ánh sáng làm ảnh chụp bị chói 1.4 Mục tiêu : - Nhận dạng biển số xe: số , số xe xe máy Ảnh chụp từ điện thoại Giao diện đẹp Xử lý ảnh biển số ảnh full Sử dụng phần mềm matlab Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH Chương 2: CÁC DẠNG ẢNH CƠ BẢN 2.1 Ảnh Index Ảnh biểu diễn hai ma trận, ma trận liệu ảnh X ma trận màu (còn gọi đồ màu) map Ma trận liệu thuộc kiểu uint8, uint16 double Ma trận màu ma trận kich thước m x gồm thành phần thuộc kiểu double có giá trị khoảng [0 1] Mỗi hàng ma trận xác định thành phần red, green, blue màu tổng số m màu sử dụng ảnh Giá trị phần tử ma trận liệu ảnh cho biết màu điểm ảnh nằm hàng ma trận màu 2.2 Ảnh grayscale: Mỗi ảnh biểu diễn ma trận hai chiều, giá trị phần tử cho biết độ sang (hay mức xám) điểm ảnh Ma trận kiểu uint8, uint16 double Ảnh biểu diễn theo kiểu gọi ảnh „trắng đen‟ Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH 2.3 Ảnh nhị phân: Ảnh biểu diễn ma trận hai chiều thuộc kiểu logical Mỗi điểm ảnh nhận hai giá trị (đen) (trắng) 2.4 Ảnh RGB: Còn gọi ảnh “truecolor” tính trung thực Ảnh biểu diễn ma trận ba chiều kích thước m x n x 3, với m x n kích thước ảnh theo pixels Ma trận định nghĩa thành phần màu red, green, blue cho điểm ảnh, phần tử thuộc kiểu uint8, uint16 double Page | GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH % applied to the GUI before NHOM5_XLA_BXS_OpeningFcn gets called An % unrecognized property name or invalid value makes property application % stop All inputs are passed to NHOM5_XLA_BXS_OpeningFcn via varargin % % *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one % instance to run (singleton)" % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help NHOM5_XLA_BXS % Last Modified by GUIDE v2.5 29-Oct-2019 12:04:05 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @NHOM5_XLA_BXS_OpeningFcn, 'gui_OutputFcn', @NHOM5_XLA_BXS_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before NHOM5_XLA_BXS is made visible function NHOM5_XLA_BXS_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to NHOM5_XLA_BXS (see VARARGIN) % Choose default command line output for NHOM5_XLA_BXS handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes NHOM5_XLA_BXS wait for user response (see UIRESUME) % uiwait(handles.figure1); % - Outputs from this function are returned to the command line function varargout = NHOM5_XLA_BXS_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Page | 20 GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH % Get default command line output from handles structure varargout{1} = handles.output; % - Executes on button press in btnLoadImage function btnLoadImage_Callback(hObject, eventdata, handles) % hObject handle to btnLoadImage (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global srcImg; set(handles.btnTachBienSo,'Enable','off'); set(handles.btnOCR,'Enable','off'); set(handles.pushbutton5,'Enable','off'); set(handles.pushbutton6,'Enable','off'); set(handles.pushbutton8,'Enable','off'); [filename path] = uigetfile({'*.jpg;*.png','Image file';'*.*','All file'},'Open Image'); imgpath = strcat(path,filename); srcImg = imread(imgpath); srcImg = imresize(srcImg,[300 NaN]); srcImg = imresize(srcImg, 4); axes(handles.axsSrcImg); imshow(srcImg); set(handles.pushbutton5,'Enable','on'); set(handles.pushbutton6,'Enable','on'); % - Executes on button press in btnTachBienSo function btnTachBienSo_Callback(hObject, eventdata, handles) % hObject handle to btnTachBienSo (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global bsImg; global xamImg; set(handles.pushbutton6,'Enable','off'); set(handles.pushbutton8,'Enable','off'); % figure; imshow(xamImgg); xamImg = imclearborder(~xamImg); % figure; imshow(bw_img); xamImg = bwareaopen(xamImg, 15000); CC = bwconncomp(xamImg); a = regionprops(CC,'ConvexArea'); as = vertcat(a(:).ConvexArea); L = labelmatrix(CC); bsImg = ismember(L, find([a.ConvexArea] 0.7 c{i} = deblank(results(i).Text); else c{i} = rs(i); end end % % % % % remove whitespace in the results c = cell(1,numel(results)); for i = 1:numel(results) c{i} = deblank(results(i).Text); end % insert recognized text into image finalImg = insertObjectAnnotation(im2uint8(BW1), 'Rectangle', roi, c,'FontSize',72); %confidences = sprintf('%.2f', results.CharacterConfidences); %finalImg = insertObjectAnnotation(im2uint8(BW1), 'Rectangle', roi, confidences ,'FontSize',72); axes(handles.axsOcrImg); imshow(finalImg); txt = [c(l1) ' ' c(l2)]; str = ''; for i=1:length(txt) str = strcat(str,txt(i)); end set(handles.txtKetQua,'String',str); % - Executes on button press in pushbutton17 function pushbutton11_Callback(hObject, eventdata, handles) % hObject handle to pushbutton17 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Page | 31 GVHD: CHU HỒNG HẢI XỬ LÝ ÂM THANH VÀ HÌNH ẢNH global cropImg; global srcImg; cropImg=imcrop(srcImg,[440 790 850 200]); cropImg = imresize(cropImg,[300 NaN]); cropImg = imresize(cropImg, 4); axes(handles.axes6); imshow(cropImg); global xamImg; gray_img = rgb2gray(cropImg); thresh=graythresh(gray_img); xamImg= im2bw(gray_img,thresh); axes(handles.axes7); imshow(xamImg); global bsImg; set(handles.pushbutton6,'Enable','off'); set(handles.pushbutton8,'Enable','off'); % figure; imshow(xamImgg); xamImg = imclearborder(~xamImg); % figure; imshow(bw_img); xamImg = bwareaopen(xamImg, 15000); CC = bwconncomp(xamImg); a = regionprops(CC,'ConvexArea'); as = vertcat(a(:).ConvexArea); L = labelmatrix(CC); bsImg = ismember(L, find([a.ConvexArea]

Ngày đăng: 12/05/2020, 11:13

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan