opencv 手寫選擇題閱卷 二 字元識別

2021-08-10 14:33:49 字數 1352 閱讀 2235

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 主要用於不同程式...