資源簡介
更新后的,之前的有錯誤
代碼片段和文件信息
#include?“opencv2/highgui/highgui.hpp“??
#include?“opencv2/imgproc/imgproc.hpp“??
#include???
#include?
??
using?namespace?std;??
using?namespace?cv;??
class?Picture{
protected:
int?dex; //第幾張測試圖片
double?threshold; //模板匹配判斷是否匹配的閾值
char*?path; //讀取測試圖像的路徑
Mat?source; //用作源圖像
Mat?srcResult; //用來顯示
int?scanWindowW; //掃描窗寬度
int?scanWindowH; //掃描窗高度
int?sourceW?sourceH; //原圖像寬度高度
int?window_xwindow_y; //當前掃描窗口左上角坐標
int?countnumbers; //當前已經識別出的數字個數
int?adaptiveBiSize; //自適應二值化均衡窗口大小
int?adaptiveBiParam; //自適應二值化計算系數
int?medianBlurSize; //中值濾波窗口大小
vector?numresult; //存儲識別結果
vector?templatVec; //存儲模板圖像
int?index[8]; //記錄模板圖像的下標索引
public:
Picture(int?i=1){
dex?=?i;
threshold?=?0.48;
path=(char?*)malloc(100*sizeof(char)); //init?char*
sprintf(path“test\\t%d.bmp“dex);
scanWindowW?=?38;
scanWindowH?=?35;
countnumbers?=?1;
index[0]=0; //訓練樣本下標索引
index[1]=1;
index[2]=2;
index[3]=3;
index[4]=4;
index[5]=6;
index[6]=8;
index[7]=9;
//?自適應二值化和中值濾波參數
adaptiveBiSize?=?11;
adaptiveBiParam=?19;
medianBlurSize?=?3;
}
void?loadImage(){
//讀入待測試圖像并保存為灰度圖
Mat?mat?=?imread(path);
if(!mat.data)??
{??
cout?<“打開圖像失敗“< exit(0);??
}
namedWindow(“original“);
imshow(“original“mat);
Mat?mergeImg; //合并后的圖像
Mat?matgray; //灰度圖
//用來存儲各通道圖片的向量
vector?splitBGR(mat.channels());
//分割通道,存儲到splitBGR中
split(matsplitBGR);
//對各個通道分別進行直方圖均衡化
for(int?i=0;?i equalizeHist(splitBGR[i]splitBGR[i]);
//合并通道
merge(splitBGRmergeImg);
//rgb圖像轉成灰度圖
cvtColor(mergeImgmatgrayCV_RGB2GRAY);
source?=?matgray;
}
virtual?void?loadTemplate(){
for?(int?i=0;i<8;i++){
char?path[100];
sprintf(path“train\\%d.bmp“index[i]);
Mat?tmp?=?imread(path0);
templatVec.push_back(tmp);
/*namedWindow(“Template“);
imshow(“Template“templatVec[i]);*/
waitKey(0);
//模板圖像二值化
//自適應二值化
adaptiveThreshold(templatVec[i]?templatVec[i]?255?CV_ADAPTIVE_THRESH_MEAN_C?CV_THRESH_BINARY?31?7);
//濾波
medianBlur(?templatVec[i]?templatVec[i]?3);
}
};
void?preProcess(){??????????//自適應二值化&中值濾波
Mat?out;
//自適應二值化
adaptiveThreshold(source?source?255?CV_ADAPTIVE_THRESH_MEAN_C?CV_THRESH_BINARY?adaptiveBiSize?adaptiveBiParam);?
//中值濾波
namedWindow(“binary“);
imshow(“binary“source);
waitKey(0);
medianBlur(?source?out?medianBlurSize);
namedWindow(“medianblur“);
imshow(“medianblur“out);
waitKey(0);
source?=?out;
srcResult?=?out;??//用來顯示
}
Mat?scanWindow(int?window_xint?window_y){
return?source(Rect(window_xwindow_yscanWindowWscanWindowH));
} //返回掃描窗
bool?match(Mat?src){
int?srcWsrcHtemplatW?templatH?curtemplatWcurtemplatHresultH?resultW;?
Mat?templatresult;
srcW?=?src.cols;??
srcH?=?src.rows;
double?current
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-08-10?09:02??請勿泄露個人信息或外傳\
?????目錄???????????0??2015-06-14?10:27??請勿泄露個人信息或外傳\template\
?????目錄???????????0??2015-06-14?10:27??請勿泄露個人信息或外傳\template\Debug\
?????文件?????1012736??2014-10-01?17:17??請勿泄露個人信息或外傳\template\Debug\opencv_calib3d2410.dll
?????文件?????1970688??2014-10-01?17:20??請勿泄露個人信息或外傳\template\Debug\opencv_calib3d2410d.dll
?????文件?????1214976??2014-10-01?17:18??請勿泄露個人信息或外傳\template\Debug\opencv_contrib2410.dll
?????文件?????2644992??2014-10-01?17:21??請勿泄露個人信息或外傳\template\Debug\opencv_contrib2410d.dll
?????文件?????2150400??2014-10-01?17:13??請勿泄露個人信息或外傳\template\Debug\opencv_core2410.dll
?????文件?????3708928??2014-10-01?17:19??請勿泄露個人信息或外傳\template\Debug\opencv_core2410d.dll
?????文件??????165376??2014-10-01?17:17??請勿泄露個人信息或外傳\template\Debug\opencv_createsamples.exe
?????文件??????742400??2014-10-01?17:16??請勿泄露個人信息或外傳\template\Debug\opencv_features2d2410.dll
?????文件?????1612288??2014-10-01?17:20??請勿泄露個人信息或外傳\template\Debug\opencv_features2d2410d.dll
?????文件????10535057??2013-11-19?11:00??請勿泄露個人信息或外傳\template\Debug\opencv_ffmpeg2410.dll
?????文件??????527360??2014-10-01?17:14??請勿泄露個人信息或外傳\template\Debug\opencv_flann2410.dll
?????文件?????1218560??2014-10-01?17:19??請勿泄露個人信息或外傳\template\Debug\opencv_flann2410d.dll
?????文件??????432128??2014-10-01?17:17??請勿泄露個人信息或外傳\template\Debug\opencv_gpu2410.dll
?????文件??????928256??2014-10-01?17:20??請勿泄露個人信息或外傳\template\Debug\opencv_gpu2410d.dll
?????文件??????164352??2014-10-01?17:17??請勿泄露個人信息或外傳\template\Debug\opencv_haartraining.exe
?????文件?????2161152??2014-10-01?17:15??請勿泄露個人信息或外傳\template\Debug\opencv_highgui2410.dll
?????文件?????3803136??2014-10-01?17:20??請勿泄露個人信息或外傳\template\Debug\opencv_highgui2410d.dll
?????文件?????1933312??2014-10-01?17:14??請勿泄露個人信息或外傳\template\Debug\opencv_imgproc2410.dll
?????文件?????3425280??2014-10-01?17:19??請勿泄露個人信息或外傳\template\Debug\opencv_imgproc2410d.dll
?????文件?????1263104??2014-10-01?17:17??請勿泄露個人信息或外傳\template\Debug\opencv_legacy2410.dll
?????文件?????2789888??2014-10-01?17:20??請勿泄露個人信息或外傳\template\Debug\opencv_legacy2410d.dll
?????文件??????510464??2014-10-01?17:14??請勿泄露個人信息或外傳\template\Debug\opencv_ml2410.dll
?????文件?????1086976??2014-10-01?17:19??請勿泄露個人信息或外傳\template\Debug\opencv_ml2410d.dll
?????文件??????562688??2014-10-01?17:18??請勿泄露個人信息或外傳\template\Debug\opencv_nonfree2410.dll
?????文件?????1159168??2014-10-01?17:20??請勿泄露個人信息或外傳\template\Debug\opencv_nonfree2410d.dll
?????文件??????679936??2014-10-01?17:15??請勿泄露個人信息或外傳\template\Debug\opencv_objdetect2410.dll
?????文件?????1606144??2014-10-01?17:20??請勿泄露個人信息或外傳\template\Debug\opencv_objdetect2410d.dll
?????文件?????2136064??2014-10-01?17:17??請勿泄露個人信息或外傳\template\Debug\opencv_ocl2410.dll
............此處省略706個文件信息
評論
共有 條評論