win10 vs2015源码编译opencv、opencv_contrib、Tesseract
1.软件包准备
注意: opencv和open_contrib包的版本号要一致(比如都是3.4.0)
Tesseract源码安装参考: win10 vs2015源码编译tesseract4.0
2. 使用cmake生成解决方案

分别指定源码包(source code)存放位置, 编译过程中产生的二进制(build the binaries)文件存放位置, 然后点击"Configure", 指定对应版本的编译器, 例如Visual Studio 14 2015 Win64,即使用vs2015生成x64解决方案,[“Visual Studio 14 2015”生成x86解决方案]。 然后点击"Finish"。 第一次配置完成后,会出现很多红色提示,如下图:

需要修改对应的配置后 点击Configure, 反复Configure直至红色完全消失,然后点击"Generate" 即可生成对应的解决方案。
修改配置如下:
- BUILD_opencv_world: 将.lib或者.dll文件统一整合进一个world文件中,方便使用。但若想只使用一部分模块可不勾选以减少体积。生成动态链接库dll需要勾选BUILD_SHARED_LIBS
- ENABLE_CXX11: 支持c11特性
- OPENCV_EXTRA_MODULES_PATH: 若使用opencv_contrib模块,则在此处填写解压后的路径,如 F:\opencv_contrib\modules\
- Tesseract_INCLUDE_DIR: Tesseract头文件所在路径
- Tesseract_LIBRARY: Tesseract lib文件所在路径
- Lept_LIBRARY: leptonica lib文件所在路径 (很重要, 一定要配置,否则可能找不到Tesseract)





建议取消勾选:
- BUILD_DOCS :生成文档,需要安装Doxygen。官网提供了在线文档和离线文档。
- BUILD_opencv_ts :一些单元测试代码。
- INSTALL_TESTS :与开发无关。
点击configure后一定要保证Tesseract为YES, 如下图:

否则在编译完end_to_end_recognition.cpp后,在运行时出现如下提示。
OCRTesseract(00): Tesseract not found.
起初的几次编译怎么都找不到Tesseract
后来通过opencv_contrib\modules\text下的CMakeLists.txt

以及opencv_contrib\modules\text\cmake 下的FindTesseract.cmake

发现LEPT_LIBRARY没有找到对应的配置
3. 编译
打开OpenCV.sln, 选择”Release"模式,选择"生成"->"生成解决方案"

编译成功后 可选择进行安装

然后选择"Debug"模式,重复上面操作。
再将生成的opencv_world340d.dll、opencv_img_hash340d.dll拷贝到安装目录下的x64\vc14\bin中
opencv_world340d.lib、opencv_img_hash340d.lib拷贝到安装目录下的x64\vc14\lib中。
opencv的安装目录为 C:/opencv
效果:



4.添加环境变量
为了保证程序在运行时能够访问到opencv_world340.dll或者opencv_world340d.dll
需要在环境变量PATH中添加
C:\opencv\build\x64\vc14\bin
5. 测试
1) 打开vs2015, 新建win32项目, 勾选”空项目", 取消"安装开发生命周期检查"

2) “右击”对应的项目>选择“属性"
3) 选择"Vc++目录", 点击”包含目录", “编辑", 添加
C:\opencv\build\include\
C:\opencv\build\include\opencv
C:\opencv\build\include\opencv2

4) 点击"库目录", ”编辑", 添加:
C:\opencv\build\x64\vc14\lib

5) 选择"链接器"->"输入",
relase模式添加:
opencv_world340.lib
debug模式添加:
opencv_world340d.lib

6) 效果如下图:

7)
测试程序1:
#include <opencv2/opencv.hpp>
#include <string>
using namespace cv;
using namespace std; int main()
{
Mat im = imread("lena.jpg"); // lena.jpg和test1.cpp在同一个目录下
namedWindow("Picture");
imshow("Picture", im);
waitKey(0);
destroyWindow("Picture");
return 0;
}
test1.cpp
测试结果: test1.cpp在X64 DEBUG和RELEASE模式下都能通过
测试程序2):
测试用到的文件end_to_end_recognition.cpp、scenetext01.jpg、trained_classifierNM1.xml、trained_classifierNM2.xml都位于opencv_contrib源码包目录下的modules\text\samples中
为了测试方便,右击项目属性,设置命令行参数

将scenetext01.jpg、trained_classifierNM1.xml、trained_classifierNM2.xml复制到与end_to_end_recognition.cpp相同目录下,运行即可。

如果使用命令行运行程序,则需要将scenetext01.jpg、trained_classifierNM1.xml、trained_classifierNM2.xml 复制到可执行程序所在目录

效果:

测试结果: 在x64 RELASE模式下通过, DEBUG模式下出错。
注意: 由于编译opencv使用的tesseract的lib为release版本,所以在“DEBUG"模式下会出错:

但是在Release模式仍然能够调试。
win10 vs2015源码编译opencv、opencv_contrib、Tesseract的更多相关文章
- win10 vs2015源码编译tesseract4.0
1.安装软件 cmake 下载地址 cppan 下载地址 安装完毕后,需要将cmake.exe和cppan.exe加入环境变量PATH中 cmake简介 CMake全称为“cross platf ...
- windows 10 上源码编译OpenCV并支持CUDA | compile opencv with CUDA support on windows 10
本文首发于个人博客https://kezunlin.me/post/6580691f/,欢迎阅读! compile opencv with CUDA support on windows 10 Ser ...
- ubuntu 16.04源码编译OpenCV教程 | compile opencv on ubuntu 16.04
本文首发于个人博客https://kezunlin.me/post/15f5c3e8/,欢迎阅读! compile opencv on ubuntu 16.04 Series Part 1: comp ...
- 解决 Ubuntu16.04 + opencv4.1 源码编译错误 Makefile:160: recipe for target 'all' failed
最近源码编译 opencv,出现下面的错误 [ %] Built target opencv_dnn Makefile:: recipe for target 'all' failed google ...
- Ubuntu 17.04版本下,opencv进行源码编译安装
本文主要针对Ubuntu 17.04版本下,opencv进行源码编译安装.开发环境主要针对python 对 openCV库的调用. 安装 gcc cmake 编译环境 sudo apt-get ins ...
- [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程
标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...
- OpenCV - Windows(win10)编译opencv + opencv_contrib
在之前的几篇文章中,我提到了在Android.Linux中编译opencv + opencv_contrib,这篇文章主要讲在Windows中编译opencv + opencv_contrib. 首先 ...
- linux源码编译安装OpenCV
为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以 ...
- OpenCV学习:OpenCV源码编译(vc9)
安装后的OpenCV程序下的build文件夹中,只找到了vc10.vc11和vc12三种编译版本的dll和lib文件,需要VS2010及以上的IDE版本,而没有我们常用的VS2008版本. 于是,需要 ...
随机推荐
- pypi镜像源加速第三方库在线安装
使用pypi镜像源加速第三方库在线安装 用easy_install和pip来安装第三方库很方便 它们的原理其实就是从Python的官方源pypi.python.org/pypi 下载到本地,然后解包安 ...
- WebStorm 破解方法
WebStorm 破解方法 第一步 打开 IntelliJ IDEA 注册码 网址,点击下载最新的 破解补丁 第二步 将下载下来的破解补丁,复制到WebStorm 安装目录的bin目录下 第三步 修改 ...
- web端分享网页到各个网站JS代码(微信为生成二维码)
/*分享到新浪微博,QQ空间,人人网,生成二维码*/ var myTitle=$("title").text(); var myHref = window.location.hre ...
- java基础——字符串中的反转Reverse问题(面试必备)
由于研究了关于字符串(String)的问题,今年就在这里总结一下,首先说一下有关于面试,我想的是,需要一定的技能,比方说,大家想到这个反转问题,肯定能说上了,只不过是你说的一般人都知道,要想在面试中更 ...
- spring cloud_1_mm_eureka2 eureka集群
一个eureka会出现单点故障 这里整两个 eureka--1 application.yml: #注册中心端口 server: port: 8888 #唯一标示eureka注册中心 方便互相识别 e ...
- linux 配置ftp服务器
在Linux中搭建一个FTP服务器 [实现步骤] 1.检查安装vsftpd服务器 以root进入终端后(其他账户进入终端的可以用su root 输入密码后进入root 模式)之后,在终端命令窗口输入以 ...
- 暗影精灵2pro——使用一年多后电池鼓包,传说中的更新BIOS问题(惠普15ax-226tx)
17年春天的时候正好赶上自己在东北一所省会城市的211大学读硕毕业,为了更新下自己的装备,同时也是为了纪念在母校读书7年的经历,遂够了一款暗影精灵2pro,如上图右侧所示,是一款颜值较高的很轻薄的笔记 ...
- Debian系统 + XFCE桌面初识,基础环境搭建
有幸分享个人的Linux下的习惯配置,具体操作可能阐述得比较粗糙. 在图形化界面进行配置操作,十分简便舒心. Linux发行版:Debian9.5(Stretch) 桌面Sesion:XFCE4 一. ...
- 学习笔记:分布式日志收集框架Flume
业务现状分析 WebServer/ApplicationServer分散在各个机器上,想在大数据平台hadoop上进行统计分析,就需要先把日志收集到hadoop平台上. 思考:如何解决我们的数据从其他 ...
- python 各种开源库
测试开发 来源:https://www.jianshu.com/p/ea6f7fb69501 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 sel ...