【正文】
tical and ElectroOptimal Information Processing, al, , MA: MIT Press, 1965, . [10]閆敬文,《數字圖像處理 MATLAB 版》,國防工業(yè)出版社, . [11]陳楊,陳榮娟,《 圖像編程與圖像處理》,西安電子科技大學出版社, . [12]Byeong Rae Lee, Kyungsoo Park: Adaptive Local Binarization Method for Recognition of Vehicle License PIates. IWCIA 2020: 646~ 655. [13]周新倫,柳建,《數字圖像處理》,國防工業(yè)出版社, . [14]李信真,車明剛,《計算方法》,西安西北工業(yè)大學出版社, . [15] Arno L246。we. MATLAB und SIMULINK . Chemische Reaktionstechnik,2020, 10(1002):524. [16]陳桂明,張明照,《應用 MATLAB 語言處理信號與數字圖像》,科學出版社,. [17]程俊鑫 .基于灰度圖像的邊緣檢測方法研究 :(碩士學位論文) .太原 :太原理工大學 ,2020. .致謝 27 致 謝 在論文完成之際,我心情無法平靜。大學期間,尤其是畢業(yè)論文完成期間,有很多可敬的老師和同學給予了我無私幫助。對此我深懷感激。 首先感謝導師楊斐老師從始至終的關心、指導和教誨。楊斐老師追求真理、一絲不茍、嚴格律己、寬以待人的崇高品質對學生將是永遠的鞭策。 本次畢業(yè)設計從 課題選題、信息收集到論文的撰寫都是在 楊斐老師全面、具體、耐心的指導下進行的。特別是楊斐老師不厭其煩的指出設計中的不足及問題的解決方 向,使我感受到楊斐老師的淵博學識、敏銳思維和民主嚴謹的作風。論文寫作過程中,從行文的用語到格式的規(guī)范,都力求完美。這里再次對楊斐老師的無私付出表示深深的謝意。 其次在設計的過程中,感謝給予我?guī)椭耐瑢W們,在此對其表示感謝。 然后感謝電子工程學院各位老師對我的培養(yǎng)和關心 , 感謝我的家人在大學期間對我的支持和鼓勵。 最后祝電子工程學院各位老師工作順利,祝電子工程學院明天更美好 。附錄 28 附錄: 論文中所用程序 : 邊緣提取及形狀識別分類的主程序 function varargout = chuongtrinhnhandang(varargin) % CHUONGTRINHNHANDANG Mfile for % CHUONGTRINHNHANDANG, by itself, creates a new CHUONGTRINHNHANDANG or raises the existing % singleton*. % % H = CHUONGTRINHNHANDANG returns the handle to a new CHUONGTRINHNHANDANG or the handle to % the existing singleton*. % % CHUONGTRINHNHANDANG(39。CALLBACK39。,hObject,eventData,handles,...) calls the local % function named CALLBACK in with the given input arguments. % % CHUONGTRINHNHANDANG(39。Property39。,39。Value39。,...) creates a new CHUONGTRINHNHANDANG or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before chuongtrinhnhandang_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to chuongtrinhnhandang_OpeningF via varargin. % % *See GUI Options on GUIDE39。s Tools menu. Choose GUI allows only one 附錄 29 % instance to run (singleton). % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help chuongtrinhnhandang % Last Modified by GUIDE 16May2020 22:19:38 % Begin initialization code DO NOT EDIT gui_Singleton = 1。 gui_State = struct(39。gui_Name39。, mfilename, ... 39。gui_Singleton39。, gui_Singleton, ... 39。gui_OpeningF39。, @chuongtrinhnhandang_OpeningF, ... 39。gui_OutputF39。, @chuongtrinhnhandang_OutputF, ... 39。gui_LayoutF39。, [] , ... 39。gui_Callback39。, [])。 if nargin amp。amp。 ischar(varargin{1}) = str2func(varargin{1})。 end if nargout [varargout{1:nargout}] = gui_mainf(gui_State, varargin{:})。 else gui_mainf(gui_State, varargin{:})。 end % End initialization code DO NOT EDIT % Executes just before chuongtrinhnhandang is made visible. function chuongtrinhnhandang_OpeningF(hObject, eventdata, handles, varargin) % This function has no output args, see OutputF. 附錄 30 % 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 mand line arguments to chuongtrinhnhandang (see VARARGIN) % Choose default mand line output for chuongtrinhnhandang = hObject。 % Update handles structure guidata(hObject, handles)。 % UIWAIT makes chuongtrinhnhandang wait for user response (see UIRESUME) % uiwait()。 % Outputs from this function are returned to the mand line. function varargout = chuongtrinhnhandang_OutputF(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) % Get default mand line output from handles structure varargout{1} = 。 % Executes on button press in Load_Image. function Load_Image_Callback(hObject, eventdata, handles) [filename, pathname] = uigetfile({39。*.bmp39。39。*.jpg39。39。*.gif39。39。*.*39。}, 39。Pick an Image File39。)。 S = imread([pathname,filename])。 附錄 31 axes()。 imshow(S)。 = S。 guidata(hObject, handles)。 % hObject handle to Load_Image (see GCBO) % eventdata reserved to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Executes on button press in Edge_Detection. function Edge_Detection_Callback(hObject, eventdata, handles) b=get(,39。String39。)。 S = 。 axes()。 a=rgb2gray(S)。 bw=edge(a,b)。 bw = bwareaopen(bw,30)。 se = strel(39。disk39。,2)。 bw = imclose(bw,se)。 bw = imfill(bw,39。holes39。)。 imshow(bw)。 = bw。 % hObject handle to Edge_Detection (see GCBO) % eventdata reserved to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Executes on button press in Recognize. function Recognize_Callback(hObject, eventdata, handles) global i。 b=get(,39。String39。)。 S = 。 附錄 32 axes()。 format long。 a=rgb2gray(S)。 bw=edge(a,b)。 bw = bwareaopen(bw,30)。 se = strel(39。disk39。,2)。 bw = imclose(bw,se)。 bw = imfill(bw,39。holes39。)。 L = bwlabel(bw)。 s = regionprops(L, 39。centroid39。)。 dt = regionprops(L, 39。area39。)。 dim = size(s)。 BW_filled = imfill(bw,39。holes39。)。 boundaries = bwboundaries(BW_filled)。 imshow(S)。 hold on。 for k=1:dim(1) b= boundaries{k}。 dim = size(b)。 for i=1:dim(1) khoangcach{k}(1,i) = sqrt ( ( b(i,2) s(k).Centroid(1) )^2 + ( b(i,1) s(k).Centroid(2) )^2 )。 end a=max(khoangcach{k})。 b=min(khoangcach{k})。 c=dt(k).Area。 dolech=ab。 vuong = c/(4*b^2)。 chunhat=c/(4*b*(a^2b^2)^)。 tamgiacdeu=(c*3^)/((a+b)^2)。 elip =c/(a*b*pi)。 thoi= (c*( a^2 b^2 )^) / (2*a^2*b)。 if dolech 10 text(s(k).Centroid(1)20,s(k).Centroid(2),39。圓 39。)。 附錄 33 elseif (vuong ) amp。 (vuong )