01下載opencv4.5.5 ,點(diǎn)擊source
Releases - OpenCV
02解壓到opencv4.5.5文件夾,進(jìn)入opencv4.5.5文件夾,ctrl + alt + T 打開終端,依次執(zhí)行
mkdir build
cd build
03安裝cmake
sudo apt-get install cmake
04安裝依賴包
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
05配置cmake( linux下編譯opencv需要cmake,有兩種方式,cmake與cmake-gui弧呐,這個(gè)網(wǎng)上教程很多剪况,但是opencv4版本之后,默認(rèn)配置是不生成opencv.pc,就導(dǎo)致我們使用起來(lái)很困難漆改,所以我們cmake的時(shí)候可以先配置一下: 配置cmake才能生成opencv4.pc文件)
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON ..
cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF ..
cmake -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF ..
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意一行一行的來(lái),這里其他不配置都無(wú)所謂准谚,但是 -D OPENCV_GENERATE_PKGCONFIG=ON這個(gè)配置一定要加上挫剑,Linux下我們使用opencv,需要使用pkg-config來(lái)進(jìn)行環(huán)境變量的管理,這個(gè)軟件需要.pc類型的文件作為軟件配置信息柱衔,如果我們不配置樊破,會(huì)出現(xiàn)opencv安裝成功但是c編程無(wú)法使用的情況愉棱,Python好像可以直接使用。哲戚。奔滑,網(wǎng)上有部分教程說可以手寫,但是其實(shí)很困難顺少,因?yàn)閹?kù)之間是有依賴關(guān)系的朋其,所以如果順序放錯(cuò)也會(huì)找不到,最好還是自動(dòng)生成脆炎。
06這條命令會(huì)在build目錄里生成對(duì)應(yīng)配置的Makefile文件梅猿,可以看到配置信息之間是通過空格和-D來(lái)分割和標(biāo)示的,配置了很多信息秒裕,我覺得比較重要的一個(gè)是 -D OPENCV_GENERATE_PKGCONFIG=ON袱蚓,生成opencv.pc文件的配置(注意,opencv4生成的文件叫做opencv4.pc),另外就是 CMAKE_INSTALL_PREFIX=/usr/local這個(gè)關(guān)于安裝路徑的配置几蜻,這里的安裝路徑是在/usr/local下喇潘,這也是opencv的默認(rèn)配置。
千萬(wàn)注意梭稚,最后的兩個(gè)..千萬(wàn)不要?jiǎng)h响蓉,這個(gè)指向CMakeLists.txt所在的目錄
此時(shí)當(dāng)前目錄仍是build,直接編譯安裝即可。
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=O -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
07編譯安裝
sudo make install
或者(快)
sudo make -j8
sudo make install
因?yàn)槲覀冎付税惭b路徑哨毁,所以我們的頭文件被放在/usr/local/include/opencv4/opencv2/目錄下枫甲,我們的庫(kù)文件被放在/usr/local/lib/目錄下,可以進(jìn)去查看一下這些文件是否是否存在扼褪。
08環(huán)境配置
修改opencv.conf文件想幻,終端輸入
sudo gedit /etc/ld.so.conf.d/opencv.conf
然后在文件中輸入
/usr/local/lib
保存后終端輸入
sudo ldconfig
更新共享鏈接庫(kù)
然后配置bash,修改bash.bashrc文件
sudo gedit /etc/bash.bashrc
在文末加上
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存后退出话浇,終端輸入以下命令使配置生效
source ~/.bashrc
更新一下
sudo updatedb
可能出現(xiàn)的錯(cuò)誤解決辦法:
終端輸入
sudo apt install mlocate
或者
sudo apt install locate
然后再輸入sudo updatedb就沒問題了
然后查看一下opencv的版本信息
終端輸入 注意是opencv4
pkg-config --modversion opencv4
09測(cè)試
新建文件夾code,進(jìn)入code脏毯,右鍵在終端中打開
gedit test2.cpp
輸入以下代碼
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
VideoCapture capture(0);
while(1)
{
Mat frame;
capture >> frame;
imshow("讀取視頻幀",frame);
waitKey(30);
}
system("pause");
return 0;
}
編譯(opencv4)
g++ test2.cpp -o test2 `pkg-config --cflags --libs opencv4`
運(yùn)行
./test2
能正常打開攝像頭即成功
可能報(bào)錯(cuò)
Failed to load module canberra-gtk-module
解決(重裝此包)
sudo apt-get install libcanberra-gtk-module
https://blog.csdn.net/s15810751918/article/details/107705387
https://blog.csdn.net/public669/article/details/99044895
https://blog.csdn.net/pink_lemon/article/details/120632557?ops_request_misc=&request_id=&biz_id=102&utm_term=ubuntu20.04%E5%AE%89%E8%A3%85opencv&utm_medium=distribute.wap_search_result.none-task-blog-2allsobaiduweb~default-1-.nonecase&spm=1018.2118.3001.4187
https://blog.csdn.net/footrip/article/details/103639958