?文章來源地址http://www.zghlxwxcb.cn/news/detail-445531.html
?
OpenCV是大型的Third party 計算機視覺庫,在開發(fā)中會經(jīng)常用到,本篇記錄一下 在Ubuntu系統(tǒng)上安裝和配置OpenCV,并使用C/C++調(diào)用OpenCV
關(guān)于VS Code配置C/C++開發(fā)環(huán)境的部分,見之前的博文 Linux/Ubuntu系統(tǒng)下使用VS Code配置C/C++開發(fā)環(huán)境。
1. 準(zhǔn)備工作
(1)更新下環(huán)境
sudo apt-get update
sudo apt-get upgrade
(2)安裝編譯器和構(gòu)建工具等,若已安裝,跳過即可
sudo apt-get install -y g++ # Ubuntu自帶gcc
sudo apt-get install -y cmake
sudo apt-get install -y make
sudo apt-get install -y wget
sudo apt-get install -y unzip
sudo apt-get install -y git
(3)安裝各種依賴庫
sudo apt-get install build-essential pkg-config
sudo apt-get install libgtk2.0-dev libgtk-3-dev libglib2.0-dev libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libv4l-dev liblapacke-dev libxvidcore-dev libx264-dev
sudo apt-get install python-dev python-numpy
sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper1 libjasper-dev libdc1394-22-dev libopenexr-dev libwebp-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install ffmpeg
安裝依賴庫libjasper1 和 libjasper-dev時,若報錯E:Unable to locate package libjasper-dev ,可以命令行執(zhí)行以下命令,然后再安裝依賴庫?libjasper1 libjasper-dev
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" # 國內(nèi)可能需要換國內(nèi)的鏡像
sudo apt-get update?
2. 下載OpenCV的源文件
可以在官網(wǎng)下載,也可以使用GitHub,這里選擇git clone方式,下載的opencv文件夾在home目錄下
git clone https://github.com/opencv/opencv.git # 默認下載最新的版本
git -C opencv checkout 4.x
3. 生成構(gòu)建腳本和編譯
(1)cd切換到 opencv目錄下,創(chuàng)建build文件夾,并切換到build目錄下
(2)在build目錄下使用cmake來生成構(gòu)建腳本,使用如下命令,
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D WITH_FFMPEG=ON .. # .. 不要漏掉
(3)在build目錄下編譯opencv
4. 安裝OpenCV
編譯成功后,在build目錄下執(zhí)行安裝命令,等待安裝完成
5. 配置環(huán)境
(1)配置環(huán)境變量:PKG_CONFIG_PATH
前面進行cmake時,已經(jīng)生成了opencv4.pc配置文件,該文件的安裝路徑為:/usr/local/lib/pkgconfig/opencv4.pc
在build目錄下使用命令查看一下
我們需要將opencv4.pc的路徑添加到環(huán)境變量PKG_CONFIG_PATH中,創(chuàng)建一個名為pkgconfig.sh的腳本文件,如圖
在pkgconfig.sh文件中添加下面一行語句,保存后關(guān)閉。
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
然后刷新環(huán)境變量,使之生效。
source /etc/profile
配置環(huán)境變量PKG_CONFIG_PATH 完成后,就可以使用pkg-config命令來查看和管理opencv的配置文件(也就是opencv4.pc)
(2)配置OpenCV的動態(tài)庫環(huán)境
我們需要將OpenCV的libs的安裝目錄添加到動態(tài)庫加載配置文件中,這樣在編譯時,才能找到OpenCV的各種庫文件,下面創(chuàng)建opencv4.conf?
在文件中添加下面一行
/usr/local/lib
刷新一下動態(tài)庫環(huán)境
sudo ldconfig
6. 測試安裝及配置是否成功
使用OpenCV自帶的示例,按照下圖操作
執(zhí)行完以上命令后會調(diào)用攝像頭,顯示如下即成功。
7. 通過 cmake和gcc 來構(gòu)建C/C++程序調(diào)用OpenCV
(1)在home目錄下新建一個文件夾W_CPP,
(2)在W_CPP文件夾下寫一個test.cc程序,如下:
(3)在同一文件夾下寫一個CMakeLists.txt,如下
# cmake needs this line
cmake_minimum_required(VERSION 3.10)
# Define project name
project(W_CPP)
# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)
# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
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}")
# set "-std=c++11"
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
# Add OpenCV headers location to your include paths
# include_directories(${OpenCV_INCLUDE_DIRS})
# Declare the executable target built from your sources
add_executable(test test.cc)
# Link your application with OpenCV libraries
target_link_libraries(test PRIVATE ${OpenCV_LIBS})
(4)在同一文件夾下放一張圖片,比如 flying.jpeg
(5)命令行切換到W_CPP目錄下,依次執(zhí)行以下命令,
cmake .
make
./test flying.jpeg
以上執(zhí)行成功,會顯示圖片,
8. 使用VS Code 配置C/C++項目環(huán)境來調(diào)用OpenCV
關(guān)于VS Code配置C/C++開發(fā)環(huán)境的準(zhǔn)備部分,見本篇開始處的鏈接,下面直接配置文件,
(1)用VS Code打開W_CPP文件夾,在該目錄下寫一個test2.cc程序,
(2)配置tasks.json文件
(3)配置launch.json文件
(4)配置c_cpp_properties.json文件
(5)配置完成后,運行編譯,開始調(diào)試
編譯源文件:test2.cc保持打開狀態(tài),在VS Code菜單項找到 Terminal --> Run Build Task... ,點擊運行
調(diào)試test2.cc:同樣保持打開,在VS Code菜單項找到 Run --> Start Debugging ,點擊運行(或使用F5),會顯示圖片:
?
OpenCV的安裝、配置及調(diào)用演示整個過程到此結(jié)束。
OpenCV Contrib擴展庫的安裝也類似,以后補充。?
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules -D OPENCV_GENERATE_PKGCONFIG=ON -D WITH_FFMPEG=ON ..
?
?
相關(guān)鏈接:OpenCV官網(wǎng)安裝文檔
? ? ? ? ? ? ? ? ??OpenCV官網(wǎng)使用示例
? ? ? ? ? ? ? ? ??CMakeLists.txt示例
? ? ? ? ? ? ? ? ??pkg-config的使用
? ? ? ? ? ? ? ? ??Ubuntu 20.04搭建OpenCV 4.5.0 & C++環(huán)境
? ? ? ? ? ? ? ? ??opencv_contrib下載
?
??
Enjoy it!文章來源:http://www.zghlxwxcb.cn/news/detail-445531.html
?
到了這里,關(guān)于Linux/Ubuntu下使用VS Code配置C/C++項目環(huán)境調(diào)用OpenCV的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!