caffe识别手写数字

    网上很多教程指导建立caffe中的mnist手写数字识别模型(比如http://www.cnblogs.com/aaa-YK/p/5537329.html),运行后可以得到一个分类文件lenet_iter_10000.caffemodel。

    做为一个linux+python小白,尝试使用C++进行手写数字识别。


    classification.bin是caffe进行C++分类的接口。示例用法如下:


./build/examples/cpp_classification/classification.bin \  
 models/bvlc_reference_caffenet/deploy.prototxt \  //网络参数
 models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel \  //模型
 data/ilsvrc12/imagenet_mean.binaryproto \ //图像均值文件
 data/ilsvrc12/synset_words.txt \  //分类名称
 examples/images/cat.jpg  //待识别的图片


(1)网络参数deploy.prototxt 文件时按照教程http://www.cnblogs.com/carle-09/p/5779555.html生成的。


(2)模型是lenet_iter_10000.caffemodel文件。


(3)图像均值文件是使用compute_image_mean.bin生成的。具体命令如下:


Projects/caffe/distribute/bin/compute_image_mean.bin Projects/caffe/examples/mnist/mnist_train_lmdb  Projects/caffe/examples/images/mean.binaryprot


(4)分类名称的synset_words.txt内容为0-9的十个数字,一个数字一行。


(5)最后一行是待识别的图像地址。


回车之后可以得到:
cnn@cnn-X9DAi:~$ Projects/caffe/distribute/bin/classification.bin Projects/caffe/examples/images/deploy.prototxt  Projects/caffe/examples/images/lenet_iter_10000.caffemodel Projects/caffe/examples/images/mean.binaryproto Projects/caffe/examples/images/synset_words.txt Projects/caffe/examples/images/figure/4/12.bmp
---------- Prediction for Projects/caffe/examples/images/figure/4/12.bmp ----------
1.0000 - "4"
0.0000 - "5"
0.0000 - "3"
0.0000 - "6"
0.0000 - "1"


识别结束!

识别图片



ps.开始用的识别图片是白底黑字的,识别结果总是不对。后来下载了mnist的图片库,发现图片库里的图片都是黑底白字的。改了图片后识别结果就正确了。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值