Ubuntu 18.04 安裝OpenCV C++

Ubuntu 18.04 安裝OpenCV C++

構建并安裝

僅構建核心模塊

# 更新并安裝依賴
# 更新并安裝依賴
sudo apt update && sudo apt install -y cmake g++ wget unzip# 下載并解壓包
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
unzip opencv.zip# 創建構建目錄
mkdir build# 配置
cmake  ../opencv-master# 編譯
cmake --build . -j20

含有opencv-contrib構建

# 更新并安裝依賴
sudo apt update && sudo apt install -y cmake g++ wget unzip# 下載并解壓包
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip
unzip opencv.zip
unzip opencv_contrib.zip# 創建并進入編譯目錄
mkdir -p build && cd build# 配置
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master# 編譯
cmake --build . -j20

安裝

構建完成之后,還需要進行安裝,直接在build目錄下安裝即可:

sudo make install

默認情況下,OpenCV 將安裝到該/usr/local目錄,所有文件將被復制到以下位置:

  • /usr/local/bin - 可執行文件
  • /usr/local/lib - lib (.so) 共享庫
  • /usr/local/cmake/opencv4 - cmake 包
  • /usr/local/include/opencv4 - 頭文件
  • /usr/local/share/opencv4 - 其他文件(例如 XML 格式的訓練級聯)

由于/usr/local由 root 用戶擁有,因此需要 sudo執行安裝。

測試是否安裝成功

我們簡單地用Canny邊緣檢測算子來驗證OpenCV的安裝是否成功。

創建并進入一個測試目錄:

mkdir demo && cd demo

并在demo目錄隨意放一張測試圖像demo.jpg

創建CMakeLists.txt文件并寫入以下內容:

cmake_minimum_required(VERSION 2.8)
project( demo )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( demo demo.cpp )
target_link_libraries( demo ${OpenCV_LIBS} )

創建demo.cpp文件并寫入以下內容:

#include <opencv2/opencv.hpp>using namespace cv;int main(int argc, char** argv){Mat img = imread("./demo.jpg");Mat DstPic, edge, grayImage;DstPic.create(img.size(), img.type());cvtColor(img, grayImage, COLOR_BGR2GRAY);blur(grayImage, edge, Size(3, 3));//運行canny算子Canny(edge, edge, 3, 4, 3);imwrite("Canny.jpg", edge);
}

然后執行:

cmake .
make
./demo

可以在demo目錄下看到原圖和邊緣圖像:

在這里插入圖片描述
在這里插入圖片描述

將OpenCV目錄添加到環境變量

想要在任何目錄下使用opencv,需在cmake之前將opencv的build目錄添加到環境變量OpenCV_DIR

export OpenCV_DIR=[YOUR_PATH]/build

Ref:

https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html

https://blog.csdn.net/weixin_43953829/article/details/96473891

https://blog.csdn.net/qq_41323996/article/details/109469148?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163297708716780255277403%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163297708716780255277403&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-109469148.pc_search_ecpm_flag&utm_term=%E5%8F%B2%E4%B8%8A%E6%9C%80%E5%85%A8OpenCV%E5%AE%89%E8%A3%85%E5%8F%8A%E9%94%99%E8%AF%AF%E8%A7%A3%E5%86%B3&spm=1018.2226.3001.4187
https://stackoverflow.com/questions/8711109/could-not-find-module-findopencv-cmake-error-in-configuration-process

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/532750.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532750.shtml
英文地址,請注明出處:http://en.pswp.cn/news/532750.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

html計算x的y,HTML5畫布:旋轉時計算x,y點

我開發了一個HTML5 Canvas應用程序&#xff0c;它涉及到讀取一個xml文件&#xff0c;該文件描述了需要在畫布上繪制的箭頭&#xff0c;直形和其他形狀的位置。的XML布局的HTML5畫布&#xff1a;旋轉時計算x&#xff0c;y點實施例&#xff1a;如果對象被旋轉它涉及計算一個點的位…

(2021) 20 [虛擬化] 進程調度

(2021) 20 [虛擬化] 進程調度 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p20 講義&#xff1a;http://jyywiki.cn/OS/2021/slides/11.slides#/ 背景 — 機制與策略分離 機制&#xff1a;一個通用的、可定制…

計算機組裝過程英文版,計算機組裝與維護試題及答案(國外英文資料).doc

計算機組裝與維護試題及答案(國外英文資料)計算機組裝與維護試題及答案(國外英文資料)(1) choiceIn the following equipment, the input device is (b)A. b. b. c. c. c. d. d.In Windows 98, the combination of CTRL Alt Del is (c)A. cold start b. heat start c. interr…

make命令及makefile

make命令及makefile 轉自&#xff1a;https://www.ruanyifeng.com/blog/2015/02/make.html Make 命令教程 作者&#xff1a; 阮一峰 日期&#xff1a; 2015年2月20日 代碼變成可執行文件&#xff0c;叫做編譯&#xff08;compile&#xff09;&#xff1b;先編譯這個&#…

局域網中計算機網絡密碼查看,Win10怎么查看電腦上已知的wifi網絡密碼

方法一&#xff1a;網絡和共享中心查詢1、在Windows 10桌面最左下角的【Windwos開始圖標上右鍵】&#xff0c;在彈出的菜單中點擊打開【網絡連接】&#xff0c;如下圖所示。2、在打開的網絡連接設置中&#xff0c;雙擊已經連接的【無線網絡名稱】&#xff0c;在彈出的【WLAN狀態…

(2021) 22 [持久化] 1-Bit的存儲

(2021) 22 [持久化] 1-Bit的存儲 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p22 講義&#xff1a;http://jyywiki.cn/OS/2021/slides/12.slides#/ 背景 回顧 操作系統是什么&#xff1f;一組對象 一組API…

計算機一級試題論述,計算機一級考試理論題及答案要點

計算機一級考試IT1必做題[1]. 著名的計算機科學家尼.沃思提出了________。A&#xff0e;數據結構&#xff0b;算法程序B&#xff0e;存儲控制結構C&#xff0e;信息熵D&#xff0e;控制論[2]. 下面有關掃描儀的敘述中&#xff0c;錯誤的是________。A&#xff0e;分辨率是掃描儀…

(2021) 23 [持久化] I/O設備與驅動

(2021) 23 [持久化] I/O設備與驅動 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p23 講義&#xff1a;http://jyywiki.cn/OS/2021/slides/13.slides#/ 背景 很多人 (你們的同學們、家長們) 都有一個認識&…

計算機考研計劃時間,2019計算機考研時間安排:復習時間規劃

隨著考研競爭越來越激烈&#xff0c;考研復習一定要做好規劃&#xff0c;每天的時間要做好管理&#xff0c;分清輕重緩急&#xff0c;這樣才能高效率復習。管理的5個原則&#xff0c;大家抓緊調整個人復習。小編還為大家精心準備了計算機考研復習資料還有計算機考研報考指導助力…

(2021) 24 [持久化] 文件系統API

(2021) 24 [持久化] 文件系統API 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p24 講義&#xff1a;http://jyywiki.cn/OS/2021/slides/14.slides#/ 背景 回顧 硬件視角&#xff1a;持久化的“層層抽象” 物…

計算機輔助應用的縮寫有什么,計算機輔助設計的英文縮寫是什么

2008-10-09是什么的英文縮寫?BOBO......頭型里的.....其實"BOBO頭"準確的名稱應該是BOB頭。它是娃娃頭的一種。BOB頭有許多變種&#xff0c;標準的類似于櫻桃小丸子的發型&#xff0c;專業發型師把它稱為BOB。最初是由巴黎發型師Antoine 在1909年發明&#xff0c;但…

Linux中的硬鏈接和軟鏈接

Linux中的硬鏈接和軟鏈接 節選自南大蔣炎巖老師操作系統網絡課程筆記&#xff1a;(2021) 24 [持久化] 文件系統API 硬&#xff08;hard&#xff09;鏈接 UNIX文件指針 在UNIX中&#xff0c;文件和目錄完全不是同一個概念&#xff0c;雖然我們平時看著它們仿佛并列地躺在某個…

計算機win10開機音樂,大師傳授win10系統電腦開機總是自動播放音樂的方案

今天小編分享一下win10系統電腦開機總是自動播放音樂問題的處理方法&#xff0c;在操作win10電腦的過程中常常不知道怎么去解決win10系統電腦開機總是自動播放音樂的問題&#xff0c;有什么好的方法去處理win10系統電腦開機總是自動播放音樂呢&#xff1f;今天本站小編教您怎么…

Linux中的tty、pts、pty等概念辨析

Linux中的tty、pts、pty等概念辨析 基本概念 tty、pty、pts、ptmx tty&#xff08;終端設備的統稱&#xff09;&#xff1a;tty一詞源于Teletypes&#xff0c;或teletypewriters&#xff0c;原來指的是電傳打字機&#xff0c;是通過串行線用打印機鍵盤通過閱讀和發送信息的東…

(2021) 25 [持久化] 文件系統實現:FAT和UNIX文件系統

(2021) 25 [持久化] 文件系統實現&#xff1a;FAT和UNIX文件系統 南京大學操作系統課蔣炎巖老師網絡課程筆記。 視頻&#xff1a;https://www.bilibili.com/video/BV1HN41197Ko?p25 講義&#xff1a;http://jyywiki.cn/OS/2021/slides/15.slides#/ 背景 回顧 應用眼中的文件…

用計算機模擬地球誕生,計算機模擬顯示早期金星或像地球一樣宜居

雖然金星的綽號是“地球的邪惡孿生化身”&#xff0c;但它和地球上的一切都不同&#xff1a;灼熱、干燥并且被有毒煙云籠罩。不過&#xff0c;就在10億或20億年前&#xff0c;這兩個任性的“兄弟”可能更加相似。最新的計算機模擬顯示&#xff0c;早期的金星看上去和地球很像&a…

海南大學計算機原理,海南大學微機原理課件 第一章 計算機基礎知識

第一章計算機基礎知識數 制1.1一.計算機使用的數制及其相互轉換 十進制(D)、二進制(B)、八進制(O)和十六進制(H). 數制中用少量數碼按次序排列成數位&#xff0c;并按由低到高的進位方式進行計 數。(數碼的個數稱為基數) D---0,1,2,3,4,5,6,7,8,9------數碼十個(基為10)-------…

Linux中的二進制可執行文件和腳本可執行文件及Shebang

Linux中的二進制可執行文件和腳本可執行文件及Shebang 二進制可執行文件 我們知道&#xff0c;一個C程序經過預處理、編譯、匯編、鏈接就會得到一個二進制可執行文件&#xff0c;這種文件在Linux中叫做ELF文件。比如我們有一個C源代碼hello.c&#xff1a; #include <stdi…

pe能用的固態硬盤測試軟件,通用pe工具箱教你如何讓硬盤4K對齊

昨天小編教大家如何查看電腦硬盤是否4K對齊&#xff0c;馬上就有讀者告訴小編&#xff0c;查看電腦硬盤是否4K對齊的方法學到了&#xff0c;那么我使用的固態硬盤如何做到4K對齊呢&#xff1f;問的好啊&#xff01;現如今用戶對電腦硬件的要求是越來越高。很多用戶都不僅僅滿足…

[2020-ECCV]PIPAL-a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration論文簡析

[2020-ECCV] PIPAL: a Large-Scale Image Quality Assessment Dataset for Perceptual Image Restoration 論文簡析 論文&#xff1a;https://arxiv.org/abs/2007.12142 代碼及數據集&#xff1a;https://github.com/HaomingCai/PIPAL-dataset 概述 本文認為隨著圖像重建&…