Macos中编译OpenCV3.4.16的jar文件。
1.安装依赖
可能须要安装的:qt、ffmpeg、pkg-config、libgphoto2、libav、libjpeg、libpng、libtiff、libdc1394,
可以使用brew install xxx安装,安装失败的再按下文手动安装。
java、gcc、git、cmake、ant、python是必须的,除此本例还安装了ffmpeg。
1.1.安装JDK
配置JAVA_HOME,略。
1.2.安装ant
须要先安装java
官网: https://ant.apache.org/bindownload.cgi
本例: https://dlcdn.apache.org//ant/binaries/apache-ant-1.9.16-bin.zip
解压到合适目录,本例 /Users/moonmen/appspace/。
配置 ~/.bash_profile 文件:
export ANT_HOME=/Users/moonmen/appspace/apache-ant-1.9.16
export PATH=$ANT_HOME/bin:$PATH:.
刷新环境变量:
source ~/.bash_profile
ant -version
1.3.安装cmake
1.到 https://cmake.org/download/ 查看符合自己macos系统的dmg文件。
可以直接点击下载,如果不能访问github,可以到 https://hub.fastgit.org/Kitware/CMake/releases 下载对应的文件。
dmg安装后,打开CMake,点击Tools选择 How to Install For Command Line Use,可以看到
终端执行 sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install 即可。
终端查看
cmake --version
1.4.安装pkg_config
不知道这个是不是必须的。官网: https://pkg-config.freedesktop.org/releases/
本例: https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
解压,终端cd到目录pkg-config-0.29.2,终端输入:
./configure --with-internal-glib
make
sudo make install
2.下载3.4.16源码
到官网查看 https://opencv.org/releases/ ,
windows版直接下载exe文件,运行后即可解压得到jar文件。
macos则须要下载源码自己编译。
本例: https://github.com/opencv/opencv/archive/3.4.16.zip
3.编译
解压源码,进入源码目录,创建build文件夹。打开终端,进入build目录
3.1.配置cmake
cmake -DBUILD_SHARED_LIBS=OFF \
-DWITH_IPP=OFF \
-DWITH_QT=ON \
-DWITH_OPENGL=ON \
-DWITH_TBB=ON \
-DWITH_GDAL=ON \
-DWITH_XINE=ON \
-DBUILD_EXAMPLES=OFF \
-DBUILD_WITH_STATIC_CRT=ON \
-DBUILD_TIFF=ON \
-DBUILD_ZLIB=ON \
-DBUILD_JASPER=ON \
-DBUILD_JPEG=ON \
-DBUILD_PNG=ON \
-DBUILD_OPENEXR=ON \
-DFORCE_VTK=ON \
-DCMAKE_INSTALL_PREFIX=/Users/moonmen/Downloads/opencv-3.4.16 \
../
指令参数简介:
-DCMAKE_INSTALL_PREFIX 最终编译生成文件的位置。
-DCMAKE_BUILD_TYPE RELEASE DEGUG。
-DBUILD_SHARED_LIBS 是否编译为动态库,ON:动态库so OFF:当前系统对应的静态库dylib。
-DWITH_IPP 开启IPP速度。IPP需要收费,这里https://yinguobing.com/install-ippicv-manually/提供一个免费版。
-DWITH_XXX 以 with 开头的开启对某些功能的支持。
-DBUILD_XXX 以 build 开头的只编译结果中包含的功能。
-DFORCE_VTK=ON 开启VTK可视化功能。
最后一行的 “../” 表示指令的工作目录。
3.2.编译
make -j8
3.3.生成二进制文件
make install
4.在IntellijIDEA中测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
package com.cuiweiyou.test; import java.io.File; import org.opencv.core.Core; import org.opencv.core.Mat; public class Index { static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); } public static void main(String[] args){ String path = new File("/Users/moonmen/Desktop/图标/chatty.png").getAbsolutePath(); Mat mat = org.opencv.imgcodecs.Imgcodecs.imread(path); System.out.println("图片颜色通道数:" + mat.channels()); System.out.println("图片色深:" + mat.depth()); System.out.println("图片宽:" + mat.rows()); System.out.println("图片高:" + mat.cols()); System.out.println("图片size:" + mat.size()); System.out.println("图片总像素:" + mat.total()); System.out.println("图片像素:\n" + mat.dump()); } } |
- end
本文由崔维友 威格灵 cuiweiyou vigiles cuiweiyou 原创,转载请注明出处:http://www.gaohaiyan.com/3201.html
承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设