1、版本:
ubuntu18.04
cmake 3.18.0 -rc3
opencv4.3.0
#####################################################################
测试代码例子
#####################################################################
2、安装包:
官网下载慢的朋友,网盘见。
cmake和opencv安装包下载:
链接:https://pan.baidu.com/s/1x5wHReGuITsRALxl9sRmug
提取码:b2il
xshell和xftp下载:
链接:https://pan.baidu.com/s/1F20uGhb3qRIJCl4f-0ZGow
提取码:pstj
3、安装:
1、cmake
解压
tar -zxvf cmake-3.18.0-rc3.tar.gz
查看
tree -L 1 cmake-3.18.0-rc3
结果:
cmake-3.18.0-rc3
├── Auxiliary
├── bin
├── bootstrap
注意是否存在bootstrap文件,存在就可以进行后续安装了
......
安装:
./bootstrap
结果:
CMake has bootstrapped. Now run make.
本人安装时出现:
Could NOT find OpenSSL.......
方法:缺啥安装就行
apt-get install libssl-dev
装完再次./bootstrap就好了
make
这一步没问题,等就好了
make install
完成
cmake安装结果查看:
cmake version 3.18.0-rc3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
###############################报错###############################
bash: /usr/bin/cmake 文件不存在
原因:之前装过cmake
方法:
查看当前安装位置,修改环境或者添加链接
which cmake
#######################which查看安装位置##################################
/usr/local/bin/cmake
#######################################################################
PATH=/usr/local/bin/cmake:$PATH
export PATH
cmake --version
#######################################################################
cmake version 3.18.0-rc3
#######################################################################
2、opencv
1、添加依赖项
中间如果报错,缺啥补啥
apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
2、解压
unzip opencv-4.3.0.zip
cd opencv-4.3.0
mkdir build
cd build
3、cmake
############注意##############
CMAKE_INSTALL_PREFIX=/usr/local/opencv
这一项是opencv的安装位置,自己定
!!!!!!扩展模块安装问题多,若只是试水不装最好!!!!!
OPENCV_EXTRA_MODULES_PATH=…/opencv_contrib-4.3.0/modules
扩展模块opencv_contrib的位置
!!!
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local/opencv ..
#########################################扩展############################################
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.3.0/modules -D CMAKE_INSTALL_PREFIX=/usr/local/opencv ..
然后等。。。。。。。。
完成后 编译
make -j6 j几看你有几个核
nproc 查看CPU核心数
make -j6
然后等好久。。。。
安装make install
make install
##########################注意#####################
安装完记得检查下,安装位置/usr/local/opencv 是否存在
没有再make install 一次
4、配置环境
1)、pgk-config
找到之前编译生成的 .pc文件
CMAKE_INSTALL_PREFIX=/usr/local/opencv ,
!!!!!!!我这里取名虽然是opencv,但生成的是openv4.pc
若不是,在安装文件夹下查看名称。
名字自己修改后记得要换!!!!
find / -iname opencv4.pc
######################################
前面如果没错文件会显示在
/usr/local/opencv/lib/pkgconfig/opencv4.pc
并且当前build目录下的unix-install也会存在
/root/opencv-4.3.0/build/unix-install/opencv4.pc
##################路径添加#######################
vim /etc/profile.d/pkgconfig.sh
文件中加入:
export PKG_CONFIG_PATH=/usr/local/opencv/lib/pkgconfig:$PKG_CONFIG_PATH
保存退出激活:
source /etc/profile
验证:
pkg-config --libs opencv4
#####################结果#########################
-L/usr/local/opencv/lib -lopencv_ml -lopencv_dnn -lopencv_video -lopencv_stitching -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_flann -lopencv_photo -lopencv_gapi -lopencv_imgproc -lopencv_core
2)、动态库
vim /etc/ld.so.conf.d/opencv.conf
文件末尾加上lib路径:
/usr/local/opencv/lib
加载:
ldconfig
添加环境变量:
vim /etc/bash.bashrc
################################################################
最后加上
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv/lib/pkgconfig
export PKG_CONFIG_PATH
3)、测试
创建一个测试文件test检测。
1创建test.cpp: 显示图片
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc ,char** argv){
Mat image;
image=imread(argv[1],1);
imshow("Display Image",image);
waitKey(0);
return 0;
}
2创建CMakeLists.txt
***OpenCV***千万别写错!!!!!!!!
cmake_minimum_required(VERSION 3.18)
project(test)
#这里是因为前面添加到环境了,不用另外设定
#set(OpenCV_DIR /usr/local/opencv/lib/cmake/opencv4)
find_package(OpenCV REQUIRED)
#####!!!!!!!!!这里opncv的书写。。。。***OpenCV***千万别写错!!!!!!!!
message(STATUS "OpenCV library status:")
message(STATUS " config: ${OpenCV_DIR}")
message(STATUS " version: ${OpenCV_VERSION}")
message(STATUS " libraries: ${OpenCV_LIBS}")
message(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")
add_executable(test test.cpp)
target_link_libraries(test ${OpenCV_LIBS})
3 cmake:
cmake .
###############################################
-- OpenCV library status:
-- config: /usr/local/opencv/lib/cmake/opencv4
-- version: 4.3.0
-- libraries: opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_gapi;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_stitching;opencv_video;opencv_videoio
-- include path: /usr/local/opencv/include/opencv
-- Configuring done
-- Generating done
-- Build files have been written to: /root/project/test
#####################################################
make
#################################################
[100%] Built target test
#################################################
./test test.jpg
完成
#######################################################################################
平时用Windows多了,用命令行界面会比较懵逼。