参考
从一到二:利用mnist训练集生成的caffemodel对mnist测试集与自己手写的数字进行测试
准备若干张手写数字
用画图工具,画出28X28的数字
利用OpenCV进行图片预处理
/*将图片转换成归一化的灰度图,这个程序只能一张一张处理,后面会写一个批处理的程序
*注意,opencv的图像都要放在在项目目录下*/
#include "opencv2/objdetect.hpp"
#include "opencv2/videoio.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/video/tracking.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <stdio.h>
using namespace std;
using namespace cv;
int main(void)
{
Mat frame;
Mat proccess;
frame=imread("5.bmp", 1);//读一张图
cvtColor(frame, proccess, CV_BGRA2GRAY);//转化成灰度图
adaptiveThreshold(proccess, proccess, 255, ADAPTIVE_THRESH_GAUSSIAN_C,
THRESH_BINARY_INV, 7, 7);//自适应二值化
imshow("test", proccess);
imwrite("gray5.bmp", proccess);
waitKey(0); // escape
}
利用classification.exe对自己的手写数字进行分类
在D:\Study\Caffe\caffe-windows\examples\mnist
目录下,同时将需要测试的图片也放到这里。
新建test_personwrite.bat
D:\Study\Caffe\caffe-windows\Build\x64\Release\classification.exe
D:\Study\Caffe\caffe-windows\examples\mnist\lenet.prototxt
D:\Study\Caffe\caffe-windows\examples\mnist\lenet_iter_10000.caffemodel //之前生成的模型
D:\Study\Caffe\caffe-windows\examples\mnist\mean.binaryproto
D:\Study\Caffe\caffe-windows\examples\mnist\label.txt
D:\Study\Caffe\caffe-windows\examples\mnist\gray5.bmp //要测试的图片
pause
新建标签文件标签文件label.txt
0
1
2
3
4
5
6
7
8
9
结果