OPENCV install
OPECV install in PC
opencv3.4.2
为例
PC机环境:Ubuntu 16.04
-
安装包下载
请到
OpenCV
的官方网站:http://opencv.org/releases.html 下载Opencv3.4.2
。 -
依赖库安装
# 1. 安装cmake sudo apt install cmake # 2. 安装GTK+ 2.0或更高版本(可选),输入(GTK主要是界面有关的库) sudo apt install libgtk2.0-dev # 3. 安装libav开发包:libavcodec-dev, libavformat-dev, libswscale-dev sudo apt install libavcodec-dev libavformat-dev libswscale-dev
-
安装前配置
# 1. 解压opencv-3.4.2.zip,得到opencv-3.4.2文件夹 unzip opencv-3.4.2.zip # 2. 在opencv-3.4.2内,建一个build文件夹,用来存放编译文件 cd opencv-3.4.2 mkdir build # 3. 进入build目录,进行cmake配置 cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/最终编译后结果的存储路径(建议绝对路径,在opencv-3.4.2新建一个output文件夹来存储,当前教程以opencv-3.4.2为结果路径,没有建立output文件夹) \ -D WITH_GPHOTO2=OFF \ -D WITH_GTK=OFF \ -D WITH_CUDA=OFF \ -D WITH_FFMPEG=OFF \ -D WITH_LAPACK=OFF ../ # WITH_GPHOTO2=OFF和WITH_GTK=OFF WITH_CUDA=OFF -D WITH_FFMPEG=OFF # -D WITH_LAPACK=OFF用于关闭编译依赖项,建议关闭编译依赖项,降低编译复杂度。
-
编译与安装
在
build
目录下输入make -j18 # 编译 make install # 安装
-
环境变量配置
vim ~/.bashrc # 在.bashrc末尾加上如下字段 #opencv3.4.2 export PATH=/....../opencv-3.4.2/bin:$PATH export LD_LIBRARY_PATH=/....../opencv-3.4.2/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=/....../opencv-3.4.2/lib/pkgconfig # 退出.bashrc source ~/.bashrc
-
测试
# 进入Opencv下的sample/cpp/下,编译人脸识别的示例程序 gcc `pkg-config --cflags opencv` -o facedetect facedetect.cpp `pkg-config --libs opencv` -lstdc++ # 如果顺利编译,说明Opencv安装成功,并且会在该目录下生成facedetect的可执行程序 # 输入以下指令,运行该程序 ./facedetect ../data/lena.jpg
OPENCV cross-compling
opencv3.4.2
为例
交叉编译工具链:aarch64-himix100-linux
移植平台:Hi3559AV100
-
安装包下载
请到
OpenCV
的官方网站:http://opencv.org/releases.html 下载Opencv3.4.2
。 -
配置和编译
进入
Opencv3.4.2
目录下,添加如下的Makefile文件CUR_DIR := $(shell pwd) .PHONY:all prepare clean install .PHONY:opencv_cmake opencv_make all: clean prepare opencv_cmake opencv_make install prepare: @mkdir -p $(CUR_DIR)/build @mkdir -p $(CUR_DIR)/output opencv_cmake: @pushd build; \ cmake -D CMAKE_BUILD_TYPE=RELEASE \ # build 类型(Debug,Release,…) -D CMAKE_INSTALL_PREFIX=../output \ -D CMAKE_C_COMPILER=aarch64-himix100-linux-gcc \ # 指定C编译器 -D CMAKE_CXX_COMPILER=aarch64-himix100-linux-g++ \ # 指定C++编译器 -D CMAKE_EXE_LINKER_FLAGS=-lrt -lpthread \ # 解决问题1 -D WITH_MATLAB=OFF \ -D WITH_GTK=OFF \ # GTK是类似界面的东西,运行X-WINDOWS的GNOME界面的,但ARM里运行GTK需要X-WINDOWS支持 # 两者都是很耗资源的,对ARM板的动态存储能力要求很高,一般关闭 # 由于Hi3559是终端操作,不是图形化界面,因此建议关闭,不然后续也会报错 -D BUILD_SHARED_LIBS=ON \ # ON 静态库,OFF 动态库 -D OPENCV_EXTRA_C_FLAGS=-fPIC \ -D BUILD_opencv_apps=OFF \ -D BUILD_ZLIB=ON \ # 编译ZLib库文件使能 -D BUILD_PNG=ON \ # 编译PNG库文件使能 -D BUILD_opencv_js=OFF \ -D BUILD_TESTS=OFF \ -D BUILD_ANDROID_EXAMPLES=OFF \ -D BUILD_PACKAGE=OFF \ -D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \ -D ENABLE_PIC=TRUE \ -D OpenCV_ARCH=AARCH64 \ -D ZLIB_INCLUDE_DIR=$(CUR_DIR)/3rdparty/zlib \ -D ZLIB_INCLUDE_DIRS=$(CUR_DIR)/3rdparty/zlib \ # 设置查找zlib的路径 # OpenCV3.4.2已经包含了第三方的库 .. \ ;popd opencv_make: @pushd build;make -j16;popd install: @pushd build;make install;popd clean: @rm -rf $(CUR_DIR)/build @rm -rf $(CUR_DIR)/output
参照参考2,将
opencv-3.4.1/3rdparty/libpng/arm/
下的代码全选,放到opencv-3.4.1/3rdparty/libpng
目录中,进行编译;注意提前修改问题6中的说明。执行步骤:
make