编译 OpenCV3.4.1 生成 C 库和 Java 库的方法 
1、安装前准备 
在 OpenCV3.x 构建的自带的库中不包括需要授权使用的算法,为此,需要构建自己的完
整的 OpenCV 库。为从 OpenCV 源代码编译生成 C/C++库、Java 库,需要安装如下工具: 
(1)Java JDK 
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ,
需要配置 JAVA_HOME 指向 JDK 的安装路径,例如:C:\Program Files\Java\jdk1.8.0_144。 
(2)Ant 
https://ant.apache.org/bindownload.cgi 
(3)Python,3.x 和 2.x 都需要安装 
https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe 
https://www.python.org/ftp/python/2.7.15/python-2.7.15.amd64.msi 
(4)Visual Studio 2017 专业版 
https://www.visualstudio.com/downloads/ 
(5)CMake 
https://cmake.org/download/ 
(6)安装 nsis 
http://nsis.sourceforge.net/Download 
 
2、下载和解压 OpenCV 和 OpenCV Contrib 
(1)下载 OpenCV 
https://github.com/opencv/opencv/releases,选择“Source code”。 
(2)下载 OpenCV Contrib 
https://github.com/opencv/opencv_contrib/releases,选择“Source code”。 
(3)将 OpenCV 和 OpenCV Contrib 解压到某个目录。 
 
3、使用 CMake 配置生成的库所应包含的内容 
(1)运行 CMake-gui 并做好基本配置 
 
其中的 source  路径指向解压后的  “opencv-3.4.1”,build  路径可指向自己建的一个  “build” 
文件夹。设置好路径后,点击左下角的  Configure  按钮,弹出窗口,如下所示: 
注意,我们这里的“Visual Studio 14 2015 Win64”应该是“Visual Studio 15 2017 Win64”。点
击 Finish 按钮,继续,此时主界面的 Configure  按钮变为  Stop,表示配置进行中。如遇到问
题,先检查错误信息;然后,点击  File -> Delete Cache,退出  cmake-gui,并将  build  文件夹
内的内容清空,再重复上面的步骤。 
等 Configure  依次结束后,如果 cmake 的主界面仍有红色区域,则再次点击 Configure 
进行配置,直到红色区域完全消失。 
 
下图是  Configure  完成后的界面,红色消失,只剩白色的区域: 
 
 
在上面的配置过程中,一定要确保 ant 的路径正确:指向 ant.bat。如上图的  ANT_EXECUTABLE-
NOTFOUND 是不对的。 
(2)配置 OpenCV Contrib 
找到 Name 下的 OPENCV_EXTRA_MODULES_PATH,为其设置 opencv_contrib-3.4.1 的路
径  ,精确到/modules 目录。 
再次点击 Configure 进行配置,在配置中,几个关键的配置选项: 
  BUILD_SHARED_LIBS:一定不能选中; 
  BUILD_JAVA:一定要选中; 
  BUILD_FAT_JAVA_LIB:一定要选中; 
  OPENCV_NO_FREE:选中,可以将 SIFT、SURF 之类的专利算法纳入库中。 
 
可能需要 Configure 两三次之后,红色区域才能完全消失。最后,点击 Generate,出现
“Generating done”则意味着  cmake  的工作结束了。 
 
4、用 Visual Studio 2017 professional 生成相关库 
进入到生成的 build 目录下,找到 OpenCV.sln,使用 VS 2017 打开。在“解决方案”中找
到 INSTALL,在 Release 模式下,根据系统选择 x86 或 x64,右键->生成: 
这个生成过程可能很长,1 小时左右,结束后,右击“PACKAGE”,点击“生成”,即可生成
Java 相关的库: 
(1)opencv-341.jar 
 
路径:C:\Wushaogen\Temp\OpenCV3.4.1\build\install\java 
(2)opencv_java341.dll 
路径:C:\Wushaogen\Temp\OpenCV3.4.1\build\install\java 
(3)opencv_ffmpeg341_64.dll 
路径:C:\Wushaogen\Temp\OpenCV3.4.1\build\bin\Release