资源简介
OpenCV ANN 神经网络 数字识别 http://blog.csdn.net/zwhlxl/article/details/46605507
交叉训练,特征维度65,网络层数10
正确率1.000000
交叉训练,特征维度65,网络层数20
正确率1.000000
交叉训练,特征维度65,网络层数30
正确率1.000000
交叉训练,特征维度65,网络层数40
正确率0.990000
代码片段和文件信息
#include “stdafx.h“
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
#define HORIZONTAL 1
#define VERTICAL 0
CvANN_MLP ann;
const char strCharacters[] = { ‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘\
‘6‘‘7‘‘8‘‘9‘};
const int numCharacter = 10;
const int numNeurons = 40;
const int predictSize = 10;
void generateRandom(int n int test_num int min int max vector*mark_samples)
{
int range = max - min;
int index = rand() % range + min;
if (mark_samples->at(index) == 0)
{
mark_samples->at(index) = 1;
n++;
}
if (n < test_num)
generateRandom(n test_num min max mark_samples);
}
vector getFiles(const string &folder
const bool all /* = true */) {
vector files;
list subfolders;
subfolders.push_back(folder);
while (!subfolders.empty()) {
string current_folder(subfolders.back());
if (*(current_folder.end() - 1) != ‘/‘) {
current_folder.append(“/*“);
}
else {
current_folder.append(“*“);
}
subfolders.pop_back();
struct _finddata_t file_info;
long file_handler = _findfirst(current_folder.c_str() &file_info);
while (file_handler != -1) {
if (all &&
(!strcmp(file_info.name “.“) || !strcmp(file_info.name “..“))) {
if (_findnext(file_handler &file_info) != 0) break;
continue;
}
if (file_info.attrib & _A_SUBDIR) {
// it‘s a sub folder
if (all) {
// will search sub folder
string folder(current_folder);
folder.pop_back();
folder.append(file_info.name);
subfolders.push_back(folder.c_str());
}
}
else {
// it‘s a file
string file_path;
// current_folder.pop_back();
file_path.assign(current_folder.c_str()).pop_back();
file_path.append(file_info.name);
files.push_back(file_path);
}
if (_findnext(file_handler &file_info) != 0) break;
} // while
_findclose(file_handler);
}
return files;
}
void AppendText(string filename string text)
{
fstream ftxt;
ftxt.open(filename ios::out | ios::app);
if (ftxt.fail())
{
cout << “创建文件失败!“ << endl;
getchar();
}
ftxt << text << endl;
ftxt.close();
}
// !获取垂直和水平方向直方图
Mat ProjectedHistogram(Mat img int t)
{
int sz = (t) ? img.rows : img.cols;
Mat mhist = Mat::zeros(1 sz CV_32F);
for (int j = 0; j Mat data = (t) ? img.row(j) : img.col(j);
mhist.at(j) = countNonZero(data); //统计这一行或一列中,非零元素的个数,并保存到mhist中
}
//Normalize histogram
double min max;
minMaxLoc(mhist &min &max);
if (max>0)
mhist.convertTo(mhist -1 1.0f / max 0);//用mhist直方图中的最大值,归一化直方图
return mhist;
}
Mat features(Mat in int sizeData)
{
//Histogram features
Mat vhist = ProjectedHistogram(in VERTICAL);
Mat hhist = Projected
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-06-18 16:13 evalueOCR\
目录 0 2015-06-15 20:00 evalueOCR\.vs\
目录 0 2015-06-15 20:00 evalueOCR\.vs\evalueOCR\
目录 0 2015-06-15 20:00 evalueOCR\.vs\evalueOCR\v14\
文件 34304 2015-06-18 16:13 evalueOCR\.vs\evalueOCR\v14\.suo
目录 0 2015-06-16 18:30 evalueOCR\Debug\
文件 186368 2015-06-18 09:29 evalueOCR\Debug\evalueOCR.exe
文件 2708044 2015-06-18 09:29 evalueOCR\Debug\evalueOCR.ilk
文件 4624384 2015-06-18 09:29 evalueOCR\Debug\evalueOCR.pdb
目录 0 2015-06-18 16:05 evalueOCR\evalueOCR\
目录 0 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\
文件 30528 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\CL.read.1.tlog
文件 1284 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\CL.write.1.tlog
文件 1950 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\cl.command.1.tlog
文件 406 2015-06-15 21:03 evalueOCR\evalueOCR\Debug\evalueOCR.exe.em
文件 472 2015-06-15 21:03 evalueOCR\evalueOCR\Debug\evalueOCR.exe.em
文件 381 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\evalueOCR.exe.intermediate.manifest
文件 91 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\evalueOCR.lastbuildstate
文件 3197 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\evalueOCR.log
文件 819875 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\evalueOCR.obj
文件 1179648 2015-06-15 21:03 evalueOCR\evalueOCR\Debug\evalueOCR.pch
目录 0 2015-06-15 20:35 evalueOCR\evalueOCR\Debug\evalueOCR.tlog\
文件 39556 2015-06-15 20:35 evalueOCR\evalueOCR\Debug\evalueOCR.tlog\CL.read.1.tlog
文件 1648 2015-06-15 20:35 evalueOCR\evalueOCR\Debug\evalueOCR.tlog\CL.write.1.tlog
文件 1910 2015-06-15 20:35 evalueOCR\evalueOCR\Debug\evalueOCR.tlog\cl.command.1.tlog
文件 197 2015-06-15 20:35 evalueOCR\evalueOCR\Debug\evalueOCR.tlog\evalueOCR.lastbuildstate
文件 3224 2015-06-15 20:35 evalueOCR\evalueOCR\Debug\evalueOCR.tlog\li
文件 7196 2015-06-15 20:35 evalueOCR\evalueOCR\Debug\evalueOCR.tlog\li
文件 886 2015-06-15 20:35 evalueOCR\evalueOCR\Debug\evalueOCR.tlog\li
文件 208 2015-06-15 21:03 evalueOCR\evalueOCR\Debug\evalueOCR_manifest.rc
文件 2 2015-06-18 09:29 evalueOCR\evalueOCR\Debug\li
............此处省略4671个文件信息
- 上一篇:基于opencv的性别识别
- 下一篇:stm32f0官方标准库
相关资源
- 基于opencv的性别识别
- OpenCV4.0+contrib_installVS2017
- 利用VS编写的基于Opencv大米计数程序
- opencv 比赛对阵图自动生成
- ippicv_2017u3_lnx_intel64_general_20170822.tar
- opencv识别数字
- 格子Boltzmann方法的原理及应用-郭照立
- Planning Algorithms
- 格子Boltzmann方法的最新书籍
- openCV for iOS
- 眼底图像拼接
- TrajectoryPlanningforAutomaticMachinesandRobot
- OPENCV实现ORB/SURF/SIFT + RANSAC 图像自动拼
- ippicv_2017u3_lnx_intel64_general_20180518.tgz
- LearningOpenCV中文版-于仕琪书源码.zip
- qtOpenCVTools v1.7.0.rar
- mingw64编译好的OpenCV3.4.10
- OpenCV 4.2.0 && Qt5.14.1 编译好的库
-
OpenCV的haarcascades 各种分类器xm
l文件 - OpenCV计算机视觉编程攻略 第三版
- Fragment实现Banner(广告轮播)
- opencv-4.1.0样例图片和视频.zip
- OpenCv3.3 32位版本
- OpenCV 的opencv_createsamples.exe和opencv_ha
- Kinect + openni+opencv 获取深度图
- opencv-3.4.1-windows版本
- opencv 2计算机视觉编程手册_中文_+图片
- opencv-3.4.7.zip
- 深入理解OpenCV 实用计算机视觉项目解
- vgg_generated_120.i等.tar.gz
评论
共有 条评论