介绍
OpenCV (Open Source Computer Vision Library) 计算机视觉开源库,官网 http://www.opencv.org/
类似的其他视觉库 Matlab、Halcon
环境搭建
Windows环境搭建:
https://www.opencv.org/opencv-3-1.html 下载 OpenCV 3.1.0 下载下来的是一个.exe文件,其实是一个压缩包。
Visual Studio 2015 中文社区版
由于opencv是x64的,所以需要给vs配置x64的解决方案平台
.\opencv-3.1.0\build\x64\vc14\bin 设置到环境变量
.\opencv\opencv-3.1.0\build\include
.\opencv\opencv-3.1.0\build\include\opencv
.\opencv\opencv-3.1.0\build\include\opencv2 这三个目录添加到vs工程的附加include目录
.\opencv-3.1.0\build\x64\vc14\lib 这个目录添加到vs工程的附加lib目录 再将 opencv_world310d.lib 添加到 链接->输入->附加依赖项 中
Windows下编译OpenCV310源码:
1、下载安装CMake https://cmake.org/download/ -> Binary distributions -> cmake-3.11.4-win64-x64.zip 不要下载 rc 版 (Release Candidate)
解压,并将 D:\hankin\opencv\cmake-3.11.4-win64-x64\bin 添加到环境变量
2、运行cmd 执行 cmake-gui
在弹出来的cmake选择框中 -> Browse Source... -> 选择 .\opencv\opencv-3.1.0\sources 目录(CMakeLists.txt文件在这里)
-> Browse Build... -> 选择 .\opencv\opencv-3.1.0\build_vs2015 目录
点击 Configure -> specify the generator for this project 选择 Visual Studio 14 2015 Win64 ,然后点击 finish 开始配置
当出现 Configuring done 表示配置完成,然后点击 Generate 生成vs2015解决方案,出现 Generating done 表示生成完成 build_vs2015\OpenCV.sln
Android环境搭建:
官网下载 OpenCV-3.1.0-android-sdk.zip
解压 OpenCV-3.1.0-android-sdk.zip 将 .\OpenCV-android-sdk\sdk\java(我将java改名成了OpenCV310) eclipse的library转成android studio module 并导入
解决自己写的OpenCV项目运行在手机提示说需要安装 OpenCV Manager package:
将 .\OpenCV-android-sdk\sdk\native 下的libs文件夹拷贝到项目的\src\main下,我重命名为了 opencvLibs
将 .\OpenCV-android-sdk\samples\image-manipulations\res\layout 下的xml文件复制到项目的layout下
将 .\OpenCV-android-sdk\samples\image-manipulations\src\org\opencv\samples\imagemanipulations 下的 ImageManipulationsActivity.java 复制到项目,并在清单文件配置:
<supports-screens android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>
<activity
android:name=".ImageManipulationsActivity"
android:screenOrientation="landscape"
android:configChanges="keyboardHidden|orientation"/> 最后运行项目,就可摆脱 OpenCV Manager package 了