• 大小: 28.51MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-28
  • 语言: 其他
  • 标签: opencv  模式识别  

资源简介

更新后的,之前的有错误

资源截图

代码片段和文件信息

#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 << “打开图像失败“<< endl;  
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个文件信息

评论

共有 条评论