ubuntu20.04安装opencv4.7
linux, ubuntu, opencv在ubuntu20.04下安装opencv4.7.0
一、准备工作
step1:安装cmake
执行以下命令安装最新的cmake
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake
step2:安装opencv依赖项
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libcanberra-gtk-module
sudo apt-get install pkg-config
step3:下载opencv:
step4:解压并新建【build】文件夹
1. 将下载的文件【opencv-4.7.0.zip】解压到需要安装的目录,解压后会得到【opencv-4.7.0】文件夹。
2. 打开【opencv-4.7.0】文件夹,并新建build文件夹。
(我是装在/home/user_name/app目录下,其中user_name是我的用户名)
二、安装opencv
step1:编译opencv
打开刚才新建的build文件夹,并在该文件夹路径下执行以下命令:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
sudo make install
解释:
第1行:其中第一行最后的[空格+..]一定不能省。其含义是告诉编译器将要编译的文件是来自上一层文件夹的CMakeList.txt文件。
第2行:其中8表示用8个线程同时编译,也可以改为4或者只用单线程,直接用【sudo make】
第3行:安装opencv。
step2:配置opencv在ubuntu的参数
1. 打开ld.so.conf文件(文件可能为空白,不用管他),并在文件末尾加上一行内容【/usr/local/lib】
sudo gedit /etc/ld.so.conf
2. 加载配置,使刚才添加的内容生效。
sudo ldconfig
3. 打开bash.bashrc文件,在文件末尾添加以下两行内容:
sudo gedit /etc/bash.bashrc
添加的内容:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
添加内容后的bash.bashrc文件:
4. 运行bash.bashrc:
source /etc/bash.bashrc
5. 更新系统的配置环境
sudo updatedb
6. 创建并配置opencv.pc文件
执行以下命令创建并打开opencv.pc文件:
cd /usr/local/lib/pkgconfig
touch opencv.pc
sudo gedit opencv.pc
打开文件后,添加以下内容并保存关闭文件:
注意:我这里装的是opencv4.7.0,如果安装的是别的版本,Version属性需要修改为对应的版本号.
prefix=/usr/local
exec_prefix=${prefix}
includedir=/usr/local/include
libdir=/usr/local/lib
Name: OpenCV
Description: Open Source Computer Vision Library
Version: 4.7.0
Libs: -L${exec_prefix}/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_photo -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_imgcodecs -lopencv_objdetect -lopencv_xphoto -lopencv_imgproc -lopencv_core
Libs.private: -ldl -lm -lpthread -lrt
Cflags: -I${includedir}
7. 检查opencv安装情况:
pkg-config opencv --modversion
如果安装成功,会有返回版本号:
三、用cmake尝试编译opencv例程序
step1:新建一个文件夹,并创建以下两个文件:
CMakeLists.txt
cmake_minimum_required(VERSION 2.6)
# create proj
project(testopencv)
# c++ 11
set(CMAKE_CXX_FLAGS "-std=c++11")
find_package(OpenCV 4.7.0 REQUIRED) # find opencv4.7 installed path
include_directories(OpenCV_INCLUDE_DIRS) # load opencv header files
add_executable(testopencv main.cpp) # create exe file
target_link_libraries(testopencv ${OpenCV_LIBS}) # link llib files to exe
main.cpp
# include <iostream>
# include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(){
Mat img=imread("dog.jpg");
imshow("test", img);
waitKey(0);
return 0;
}
step2:在该文件夹内随便放一张图片,命名为【dog.jpg】
step3:在该文件夹目录下执行以下命令:
cmake .
make
编译后,会在同路径下生成一堆文件,其中有一个名为【testopencv】的可执行文件。
step4:执行以下命令运行可执行文件,会打开刚才的dog.jpg文件。
./testopencv
注意:路径【./】不可省,否则linux会以为这是一个系统命令。
至此,整个opencv安装测试过程完毕。
————————————————————————————
如果要把扩展模块opencv-contrib也安装,只需:
step1:到github下载opencv-contrib库:
GitHub - opencv/opencv_contrib at 3.3.1
step2:将库解压到build的同级目录下。
step3:编译opencv代码时添加contrib的路径:
将第二节的step1的第一行命令改为如下即可,剩余步骤跟安装opencv一样。(其实就是添加上contrib的路径而已。)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
step4:重复opencv剩余步骤。
更多推荐
所有评论(0)