1、引用源码 :https://github.com/senlinuc/caffe_ocr 2、cuda 3、opencv 4、boost
1、下载caffe_ocr工程并解压到相应的文件夹。 2、下载boost:https://www.boost.org/ 这里需要注意的事最好和工程的boost一个版本,这样可以少很多修改。1.57版本 3、下载OpenCV 2410 版本
解压boost文件,然后 双机,生成编译程序。然后以管理员方式运行 然后进入安装的boost的目录下,然后执行编译 bjam stage --toolset=msvc-14.0 architecture=x86 address-model=64 --without-graph --without-graph_parallel --stagedir="…\boost_1_66_0\vc14-x64" link=static runtime-link=shared runtime-link=static threading=multi debug release 各个编译变量代表的意思,网上有,可以自己搜索看。 编译完成后会生成上面文件。
opencv安装教程很多,这里不再说明,这里要注意的是版本为2.4.10然后对应的vs版本是v140
进入caffe_ocr-master\caffe-vsproj\caffe 右键编辑caffe.vcxproj,将里面的cuda版本改成你对应的版本 注意一共要改2处,然后切换到caffe_ocr-master\caffe-vsproj\libClassification 右键编辑libClassification.vcxproj,同样替换cuda版本。 修改好后进入caffe_ocr-master\caffe-vsproj 运行caffe.sln (说明:下一步是应为用的是vs2019打开vs2015程序,所以有这一步操作,用vs2015可以忽略) 选择项目-重定目标解决方案 选择最新sdk和无升级工具平台集
然后右键caffe 选择属性修改vc++目录 这里需要把这两个目录对应的boost修改成你安装的boost对应的目录下。 (可以安装他的路径替换) 然后重新生成解决方案。会提示缺少一些库目录,在程序提供的GitHub上有给出对于应的dll下载,去下载下来,顺便下载中文测试集的训练文件。 然后替换cuda c/c++
这里的版本选择你cuda对应的英伟达显卡的对应算力,具体的算力可以上网查询。
然后编译。如果编译过了,就说明可以了,没有的话可能提示的是缺少libjepg.lib 和 libpng.lib 如果存在缺少这两个lib库,就下载编译 编译libjpeg库 可以参考
https://blog.csdn.net/kkkmmmjjjj/article/details/53785182
这位的libjpeg库编译,编译好后吧libjpeg.lib复制到3rd中
编译libpng库和zlib库 网上同样有很多教程,这里需要注意的是要下载好zlib库然后 放到libpng,然后再修改projects\vstudio\zlib.props文件里面杜英的zlib库的地址,然后用vs2015打开工程,先编译zlib在编译libpng库,然后生成后复制到caffe-ocr的3rd中即可。
之后在编译就可以编译过,然后吧相关的动态库放到对应的caffe.exe所在的文件夹中。 这里需要注意到是 两个地址要修改到对应的地址,第一个是识别数据地址,第二个是模型数据地址。 参考写法
string imgfolder = "G:\\Project\\VS2015\\caffe_ocr-master\\tools_bin\\pic\\"; string modelfolder = "G:\\Project\\VS2015\\caffe_ocr-master\\tools_bin\\data\\";如果是上述写法,还需要修改如下内容 然后再次编译,运行ocr_tset就能看到对应结果: