opencv 手寫選擇題閱卷 (二)字元識別
基本步驟:
一,識別函式接受一般64x64的灰度影象;
二,二值化並反色為黑底白字;
三,找出字元的最小包圍矩形,並大小歸一化為32x32;
四,計算影象的hog特徵;
五,用svm分類器對hog特徵進行識別,從而確定當前影象屬於abcd還是空白;
整個識別**還是比較簡單的.這得得益於opencv 對分類器的封裝,除了影象預處理**,實際識別**只有幾行;
部分**
cvsvm svm;int svm_inited = 0
;int svm_init(char *data_filename)
//int svm_recognition(iplimage*image)
//預處理
iplimage* test_img = cvcreateimage(cvsize(32, 32), 8, 1
); preproc_img(image, test_img);
//處理為黑底白字,並大小歸一化
#ifdef _win32
cvshowimage(
"image
", test_img);
cvwaitkey(0);
#endif
//特徵提取
hogdescriptor *hog = new hogdescriptor(cvsize(32, 32), cvsize(16, 16), cvsize(8, 8), cvsize(8, 8), 9
); vector
descriptors;//
存放結果
hog->compute(test_img, descriptors, size(1, 1), size(0, 0)); //
hog特徵計算
cvreleaseimage(&test_img);//
釋放不需要的影象,釋放記憶體
//生成要檢測的特徵資料矩陣
cvmat * mat_samples = cvcreatemat(1
, descriptors.size(), cv_32fc1);
int n = 0
;
for (vector::iterator iter = descriptors.begin(); iter != descriptors.end(); iter++)
//識別
int ret = svm.predict(mat_samples);//
檢測結果
cvreleasemat(&mat_samples);
return
ret;
}
python二級選擇題錯題集(二)
檢視設計 1 自頂向下 2 自底向上 3 由內到外 常見的過程設計工具 1 程式流程圖 2 n s圖 盒圖 3 pad圖 問題分析圖 4 hipo圖 將程式看作路徑的集合,對程式的邏輯路徑進行測試 print 0.1 0.2 0.3 false 左邊 0.30000000000000004 程式設計...
python二級選擇題錯題集(一)
正確答案 答案解析 10.迴圈佇列中,正確說法是 13.資訊隱蔽的概念和什麼直接相關 1.乙個演算法一般具有的特徵 2.下列幾個排序中,要求記憶體量最大的是 3.線性表的順序儲存結構和線性表的鏈式儲存結構分別是 順序儲存直接通過下標訪問,鏈式結構需要從頭開始訪問 4.單鏈表中,增加頭節點的目的 頭節...
python二級選擇題錯題集(五)
python檔案 1 python以文字方式開啟時 讀寫按照字串方式 2 python以二進位制文字方式開啟 讀寫按照位元組流方式 二維資料 二維資料也叫做 資料,常用儲存形式為 python檔案開啟模式 1 唯讀r 2 覆蓋寫w 3 追加寫a 4 建立寫x csv 逗號分隔符 1 主要用於不同程式...