【正文】
I = imread(imgpath)。)。, 39。end%% Executes on button press in Input_Image_button.function Input_Image_button_Callback(hObject, eventdata, handles)% hObject handle to Input_Image_button (see GCBO)% eventdata reserved to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global filename pathname I[filename, pathname] = uigetfile(39。white39。BackgroundColor39。defaultUicontrolBackgroundColor39。BackgroundColor39。amp。Testing Done39。)。))) msgbox ( 39。,num2str(M),39。 num2str(M)]) axes () %image no: 5 is shown for visualization purpose imshow(imread(STRCAT(39。 num2str(subjectindex) 39。 else display ([ 39。Correctly Recognized39。\39。ORL\S39。 subjectindex=str2num(pathname(getString_start:getString_end))。)。 getString_end=strfind(pathname,39。)。 getString_start=strfind(pathname,39。 end [temp M] = min(img_bin_hist_sum)。 sum = 0。 for y=1:1:train_img for z=1:1:form_bin_num sum = sum + abs( test_processed_bin(z) train_processed_bin(z,y) )。 sum = 0。 else sum = sum + test_hist_img(j)。 K = K + 1。 for j=1:1:c if( (mod(j,bin_num)) == 0 ) sum = sum + test_hist_img(j)。 sum = 0。 else test_hist_img(I(i,j)) = test_hist_img(I(i,j)) + 1。 [rows cols] = size(I)。test_hist_img(max_hist_level) = 0。global filename pathname I load 39。 %% Executes on button press in Testing_button. function Testing_button_Callback(hObject, eventdata, handles)global train_img max_hist_level bin_num form_bin_num。train39。Training Done39。 end end train_processed_bin(K,i) = sum/bin_num。 sum = 0。 train_processed_bin(K,i) = sum/bin_num。for i=1:1:c K = 1。 end end [r c] = size(train_hist_img)。 else train_hist_img(I(i,j), K) = train_hist_img(I(i,j), K) + 1。 [rows cols] = size(I)。.bmp39。\39。ORL\S39。train_hist_img = zeros(max_hist_level, train_img)。 train_processed_bin(form_bin_num,train_img) = 0。 %% Executes on button press in train_button. function train_button_Callback(hObject, eventdata, handles)global train_processed_bin。form_bin_num = 29。max_hist_level = 256。train_img = 200。global total_sub train_img sub_img max_hist_level bin_num form_bin_num。 % Update handles structureguidata(hObject, handles)。else gui_mainf(gui_State, varargin{:})。 ischar(varargin{1}) = str2func(varargin{1})。if nargin amp。gui_Callback39。gui_LayoutF39。gui_OutputF39。gui_OpeningF39。gui_Singleton39。gui_Name39。[4] 何國輝,[J].中國圖像圖形學報,2006,32(19):208211.[5] 王聃,賈云偉,[J].自動化學報,2005,21(73).[6] 張儉鴿,王世卿,[J].自動化學報,2007,23(21).[7] 曹林,王東峰,劉小軍,[J].電子學報,2006,28(3)490494[8] 焦峰,山世光,崔國勤,高文,[J].自動化學報,2003,15(1):5358[9] Wangmeng Zuo,Kuanquan Wang,David Zhang,Hongzhi Zhang. Combination of two novel LDAbased methods for face recognition[C].Proceedings of the IEEE,2007:735742[10] 徐倩,[J].計算機學報,2007,43(25):195197附錄 人臉識別matlab程序function varargout = FR_Processed_histogram(varargin)gui_Singleton = 1。論文進展并不順利時,是林老師以長者的仁愛胸懷對我表示了理解,不僅幫我指正了論文的方向,而且為我提供了大量的參考文獻和網(wǎng)頁論壇,導師勤勉的敬業(yè)精神和一絲不茍的工作態(tài)度使我深深感動,這將是我一生工作和學習的好榜樣。致謝在河北大學的學習生活即將結束,在做畢業(yè)設計的這段時間里,我的老師、同學、朋友和家人給予了我無微不至的關心,毫無保留的指導和耐心細致的幫助,借此畢業(yè)論文完成之際,謹向他們致以我最真誠的感謝!首先,我衷心感謝我的導師。而在現(xiàn)實生活中采集到的人臉圖像則會受到很多因素的影響,識別率就未必能達到要求了。關于“人臉識別”,在了解了人臉識別的各種方法后,選擇了圖像直方圖差值比較進行了實現(xiàn)。僅就這一部分而言,就有很多可以繼續(xù)完成的工作,可將其它一些數(shù)字圖像處理方法進一步加以實現(xiàn),如圖像的平滑,圖像矩陣的變換(KL變換、Fourier變換、小波變換等),圖像的膨脹腐蝕、圖像的幾何變換(平移、旋轉、縮放等),以及各種編碼圖像的讀寫與顯示。該系統(tǒng)的主要功能模塊共有二個:(1)數(shù)字圖像處理的基本方法;(2)人臉識別。 此均值向量用于計算平均值