日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1

發布時間:2024/9/5 Ubuntu 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 一 安裝前的準備
  • 二 編譯并安裝OpenCV 4.1.1

注:原創不易,轉載請務必注明原作者和出處,感謝支持!

OpenCV目前(2019-8-1)的最新版本為4.1.1。本文將介紹如何在Ubuntu 16.04 LTS下編譯安裝最新的OpenCV 4.1.1版本以及4.1.1對應的contrib庫。

一 安裝前的準備

(1) 一臺Ubuntu 16.04 LTS操作系統。選擇速度快的國內更新源并更新系統

sudo apt-get update sudo apt-get upgrade

(2) 安裝最新版本的cmake-gui
進入cmake.org下載最新版本的cmake源代碼,使用下面的命令安裝。

解壓:

tar -zxvf cmake-3.15.2.tar.gz

先安裝cmake(Ubuntu軟件庫中的舊版cmake):

sudo apt-get install cmake

編譯并安裝最新版本cmake:

cd cmake-3.15.2/ mkdir build cd build cmake .. make # 使用make -j,虛擬機有卡死的風險 sudo make install

cmake源碼安裝之后是沒有GUI的,要安裝cmake-gui,還需要安裝cmake-qt-gui

sudo apt-get install cmake-qt-gui

(3) 下載OpenCV 4.1.1的源代碼和對應4.1.1版本的contrib源碼


二 編譯并安裝OpenCV 4.1.1

(1) 安裝OpenCV依賴項

sudo apt-get install build-essential# OpenCV官網中安裝的是舊版本的libgtk2.0-dev,這里我們安裝新版本的libgtk-3-dev sudo apt-get install git libgtk-3-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev# OpenCV官網中安裝2.7版本的python-dev和python-numpy,這里我們安裝python 3版本的python3-dev和python3-numpy sudo apt-get install python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

(2) 解壓

tar -zxvf opencv-4.1.1.tar.gz tar -zxvf opencv_contrib-4.1.1.tar.gz

(3) 使用cmake-gui生成Makefile
在opencv-4.1.1中建立build目錄

cd opencv-4.1.1/ mkdir build

打開cmake-gui,設定source code目錄為/home/your-name/opencv-4.1.1/,設定binaries目錄為剛才新建的build目錄,也就是/home/your-name/opencv-4.1.1/build。

OpenCV默認生成的python版本是python 2.7,這就很坑爹了!為了讓OpenCV編譯生成python 3版本的opencv_python3,需要添加一個編譯選項。在cmake-gui當中,點擊Add Entry,如下圖所示,填入編譯選項名字PYTHON_DEFAULT_EXECUTABLE和系統中python 3的路徑/usr/bin/python3.5(依實際情況而定)即可。

還有記得把編譯選項OPENCV_GENERATE_PKGCONFIG打開!新版本的OpenCV默認把這個編譯選項給關掉了!如果該選項沒有打開,pkg-config就沒法使用了。這樣,你想在命令行里直接編譯opencv程序會是很痛苦的事情,只能借助CMake解決。

為了編譯opencv_contrib,需要在cmake-gui中將編譯選項OPENCV_EXTRA_MODULES_PATH填入contrib庫所在的路徑,比如/home/your-name/opencv_contrib-4.1.1/modules/

(4) 編譯安裝OpenCV
生成Makefile之后,進入/home/your-name/opencv-4.1.1/build,編譯并安裝。然后是漫長的等待過程。

make -j2 sudo make install

(5) 驗證
驗證pkg-config功能是否正確

lzh@lzh-VirtualBox:~$ pkg-config --cflags --libs opencv4 -I/usr/local/include/opencv4/opencv -I/usr/local/include/opencv4 -L/usr/local/lib -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_dnn -lopencv_objdetect -lopencv_videoio -lopencv_photo -lopencv_imgcodecs -lopencv_gapi -lopencv_stitching -lopencv_calib3d -lopencv_features2d -lopencv_imgproc -lopencv_flann -lopencv_core lzh@lzh-VirtualBox:~$

驗證成功!

驗證opencv_python3是否正確安裝。

lzh@lzh-VirtualBox:~$ python3 Python 3.5.2 (default, Nov 12 2018, 13:43:14) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> print(cv2.__version__) 4.1.1 >>>

驗證成功!

驗證C++版本的opencv是否正確安裝。

// Test-OpenCV-Install.cpp#include <iostream> #include <opencv2/opencv.hpp>using namespace cv; using namespace std;int main(int argc, char **argv) {Mat src = imread("./lena.jpg", IMREAD_COLOR);if (!src.data){cerr << "Error : could not load image." << endl;return -1;}imshow("input", src);waitKey(0);return 0; }

先執行如下命令。因為你剛安裝opencv,opencv所有的共享庫被寫入了/usr/local/lib當中,此時,為了運行上述Opencv程序,你需要執行下面的命令將/usr/local/lib里的共享庫信息重新載入內存,否則,會報找不到共享庫的錯誤!

sudo ldconfig

編譯并執行上述程序。

lzh@lzh-VirtualBox:~$ g++ -g -Wall -std=c++11 Test-OpenCV-Install.cpp -o Test-OpenCV-Install `pkg-config --cflags --libs opencv4` lzh@lzh-VirtualBox:~$ ./Test-OpenCV-Install lzh@lzh-VirtualBox:~$

驗證成功!

轉載于:https://www.cnblogs.com/laizhenghong2012/p/11329916.html

總結

以上是生活随笔為你收集整理的在Ubuntu 16.04 LTS下编译安装OpenCV 4.1.1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。