資源簡介
基于SVM的手寫字體識別

代碼片段和文件信息
function?Chapter_CharacterRecognitionUsingLibsvm
%%?Matlab神經網絡43個案例分析
%?基于SVM的手寫字體識別
%?by?李洋(faruto)
%?http://www.matlabsky.com
%?Email:faruto@163.com
%?http://weibo.com/faruto?
%?http://blog.sina.com.cn/faruto
%?2013.01.01
%%?A?Little?Clean?Work
close?all;
clear;
clc;
format?compact;
%%?載入訓練數據
%?利用uigetfile函數交互式選取訓練樣本
[FileNamePathNameFilterIndex]?=?uigetfile(?...
????{‘*.jpg‘;‘*.bmp‘}‘請導入訓練圖片‘‘*.jpg‘‘MultiSelect‘‘on‘);
if?~FilterIndex
????return;
end
num_train?=?length(FileName);
TrainData?=?zeros(num_train16*16);
TrainLabel?=?zeros(num_train1);
for?k?=?1:num_train
????pic?=?imread([PathNameFileName{k}]);
????pic?=?pic_preprocess(pic);
????
????%?將標準化圖像按列拉成一個向量并轉置,生成50*256的訓練樣本矩陣
????TrainData(k:)?=?double(pic(:)‘);
????%?樣本標簽為樣本所對應的數字
????TrainLabel(k)?=?str2double(FileName{k}(4));
end
%%?建立支持向量機
%?[bestCVaccuracybestcbestg]?=?...
%?????SVMcgForClass(TrainLabelTrainData-88-88100.80.84.5)
%?設置GA相關參數
????ga_option.maxgen?=?100;
????ga_option.sizepop?=?20;
????ga_option.cbound?=?[0100];
????ga_option.gbound?=?[0100];
????ga_option.v?=?10;
????ga_option.ggap?=?0.9;
????[bestCVaccuracybestcbestg]?=?...
????gaSVMcgForClass(TrainLabelTrainDataga_option)
%?訓練
cmd?=?[‘-c?‘num2str(bestc)‘?-g?‘num2str(bestg)];
model?=?svmtrain(TrainLabel?TrainData?cmd);
%?在訓練集上查看識別能力
preTrainLabel?=?svmpredict(TrainLabel?TrainData?model);
%%?載入測試樣本
[FileNamePathNameFilterIndex]?=?uigetfile(?...
????{‘*.jpg‘;‘*.bmp‘}‘請導入測試圖片‘‘*.bmp‘‘MultiSelect‘‘on‘);
if?~FilterIndex
????return;
end
num_train?=?length(FileName);
TestData?=?zeros(num_train16*16);
TestLabel?=?zeros(num_train1);
for?k?=?1:num_train
????pic?=?imread([PathNameFileName{k}]);
????pic?=?pic_preprocess(pic);
????
????TestData(k:)?=?double(pic(:)‘);
????TestLabel(k)?=?str2double(FileName{k}(4));
end
%%?對測試樣本進行分類
preTestLabel?=?svmpredict(TestLabel?TestData?model);
assignin(‘base‘‘TestLabel‘TestLabel);
assignin(‘base‘‘preTestLabel‘preTestLabel);
TestLabel‘
preTestLabel‘
%%?sub?function?of?pre-processing?pic
function?pic_preprocess?=?pic_preprocess(pic)
%?圖片預處理子函數
%?圖像反色處理
pic?=?255-pic;
%?設定閾值,將反色圖像轉成二值圖像
pic?=?im2bw(pic0.4);
%?查找數字上所有像素點的行標y和列標x
[yx]?=?find(pic?==?1);
%?截取包含完整數字的最小區域
pic_preprocess?=?pic(min(y):max(y)?min(x):max(x));
%?將截取的包含完整數字的最小區域圖像轉成16*16的標準化圖像
pic_preprocess?=?imresize(pic_preprocess[1616]);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-08-18?11:04??chapter19\
?????文件????????2656??2013-08-18?11:04??chapter19\Chapter_CharacterRecognitionUsingLibsvm.m
?????目錄???????????0??2013-08-18?11:05??chapter19\html\
?????文件???????13826??2013-08-18?11:05??chapter19\html\Chapter_CharacterRecognitionUsingLibsvm.html
?????文件????????4692??2013-08-18?11:05??chapter19\html\Chapter_CharacterRecognitionUsingLibsvm.png
?????文件???????11234??2013-08-18?11:05??chapter19\html\Chapter_CharacterRecognitionUsingLibsvm_01.png
?????文件?????????452??2013-01-04?14:44??chapter19\pic_preprocess.m
?????目錄???????????0??2013-08-18?10:48??chapter19\手寫數字測試樣本圖片\
?????文件????????7656??2009-04-27?15:42??chapter19\手寫數字測試樣本圖片\num0_1.bmp
?????文件????????7656??2009-04-27?15:43??chapter19\手寫數字測試樣本圖片\num0_2.bmp
?????文件????????7656??2009-04-27?15:44??chapter19\手寫數字測試樣本圖片\num0_3.bmp
?????文件????????7656??2009-04-27?15:45??chapter19\手寫數字測試樣本圖片\num1_1.bmp
?????文件????????7656??2009-04-27?15:45??chapter19\手寫數字測試樣本圖片\num1_2.bmp
?????文件????????7656??2009-04-27?15:48??chapter19\手寫數字測試樣本圖片\num1_3.bmp
?????文件????????7656??2009-04-27?15:49??chapter19\手寫數字測試樣本圖片\num2_1.bmp
?????文件????????7656??2009-04-27?15:49??chapter19\手寫數字測試樣本圖片\num2_2.bmp
?????文件????????7656??2009-04-27?15:50??chapter19\手寫數字測試樣本圖片\num2_3.bmp
?????文件????????7656??2009-04-27?13:49??chapter19\手寫數字測試樣本圖片\num3_1.bmp
?????文件????????7656??2009-04-27?13:50??chapter19\手寫數字測試樣本圖片\num3_2.bmp
?????文件????????7656??2009-04-27?13:50??chapter19\手寫數字測試樣本圖片\num3_3.bmp
?????文件????????7656??2009-04-27?13:51??chapter19\手寫數字測試樣本圖片\num4_1.bmp
?????文件????????7656??2009-04-27?13:51??chapter19\手寫數字測試樣本圖片\num4_2.bmp
?????文件????????7656??2009-04-27?13:52??chapter19\手寫數字測試樣本圖片\num4_3.bmp
?????文件????????7656??2009-04-27?13:41??chapter19\手寫數字測試樣本圖片\num5_1.bmp
?????文件????????7656??2009-04-27?13:43??chapter19\手寫數字測試樣本圖片\num5_2.bmp
?????文件????????7656??2009-04-27?13:44??chapter19\手寫數字測試樣本圖片\num5_3.bmp
?????文件????????7656??2009-04-27?13:53??chapter19\手寫數字測試樣本圖片\num6_1.bmp
?????文件????????7656??2009-04-27?13:53??chapter19\手寫數字測試樣本圖片\num6_2.bmp
?????文件????????7656??2009-04-27?13:54??chapter19\手寫數字測試樣本圖片\num6_3.bmp
?????文件????????7656??2009-04-27?13:55??chapter19\手寫數字測試樣本圖片\num7_1.bmp
?????文件????????7656??2009-04-27?13:55??chapter19\手寫數字測試樣本圖片\num7_2.bmp
............此處省略58個文件信息
- 上一篇:fiddler--顯示ip代碼.txt
- 下一篇:pl0語法分析器
評論
共有 條評論