Ubuntu20.04+GeForce RTX 2080 SUPER+cuda11.1+cudnn8.0.4+openCV4.4.0編譯

通過將近一個月的折騰,終於安裝、編譯成功,在此作一個記錄,以備往後快速搭建環境,也但願能給各位踩坑的小夥伴一點參考。html

1.Ubuntu20.04系統安裝

1.1 製做系統盤

下載Ubuntu20.04系統鏡像U盤啓動製做工具,使用UltraISO製做Ubuntu20.04系統盤。linux

  • 啓動UltraISO,點擊「繼續試用」

在這裏插入圖片描述

  • 「文件」–>「打開」,選擇下載好的Ubuntu鏡像

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

  • 「啓動」–>「寫入硬盤鏡像」,磁盤驅動器選擇提早準備好的閒置U盤,先「格式化」U盤,而後「寫入」,等待寫入完成便可。

在這裏插入圖片描述

1.2 安裝Ubuntu20.04系統

  • 插入第一步作好的系統盤,開機,出現主板圖標時按下F11/F12(不一樣電腦和主板有所差異,能夠根據本身的電腦型號查找)進入快速啓動項界面,選擇製作好的系統盤

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

  • 在彈出的界面中選第一項「Ubuntu」

在這裏插入圖片描述

  • Ubuntu20.04安裝前首先會檢測磁盤,等待檢測完成便可

在這裏插入圖片描述

  • 選擇語言,我的建議若是安裝Ubuntu系統是用來作開發,語言最好選擇English,不要選中文,會避免之後不少沒必要要的麻煩
  • 點擊"Install Ubuntu"

在這裏插入圖片描述

  • "Keyboard layout"一樣選擇英文

在這裏插入圖片描述

  • 若是有無線網卡的話,會彈出連網的界面,這裏選擇不鏈接WIFI

在這裏插入圖片描述

  • 「Updates and other software」界面,我選擇的是"Minimal installation",這樣安裝過程會快一些,並且不會安裝一些不須要的軟件。(Normal installation會安裝web瀏覽器、公用程序、辦公軟件、遊戲和媒體播放器,Minimal installation只會安裝web瀏覽器和基本實用程序)

在這裏插入圖片描述

  • 「Installation type」界面選擇「Something else」,本身進行分區

在這裏插入圖片描述

  • 分區按如下順序進行:
    !EFI必定要放在最前面
    ios

    • EFI:主分區,建議不小於512M,這裏我分配了2G
    • 掛載點 / :邏輯分區,ext4日誌文件系統,用於存放系統,建議根據本身的磁盤大小分配的大一點,這裏我分配了200G(磁盤共1T)
    • swap(交換空間):邏輯分區,大小與電腦的真實內存大小一致,這裏個人是32G內存
    • 掛載點 /home :邏輯分區,ext4日誌文件系統,將剩餘空間所有分配給它

在這裏插入圖片描述

  • 分區完成後,安裝啓動引導器的設備選擇整個磁盤,點擊"Install Now"–>「Continue」

在這裏插入圖片描述

  • 選擇時區,「Shanghai」

在這裏插入圖片描述

  • 輸入用戶名和密碼

在這裏插入圖片描述

  • 開始安裝,等待完成

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

  • 安裝完成後,重啓

在這裏插入圖片描述

  • 重啓後按提示拔出U盤後按回車鍵

在這裏插入圖片描述

  • 進入登陸界面,安裝成功

在這裏插入圖片描述

在這裏插入圖片描述

  • 最小安裝後沒有office軟件

在這裏插入圖片描述

1.3 更換國內鏡像源

注: 個人臺式機裝完後沒法上有線網,若是有一樣問題的小夥伴能夠到github下載r8125的網卡驅動,自行安裝,能夠參考這篇文章git

  • 打開應用中心–>「Software & Updates」

在這裏插入圖片描述

  • 「Download from」選擇「Other…」

在這裏插入圖片描述

  • 找到"China",選擇適合的源,也能夠點擊"Select Best Server"自動選擇

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

  • 「Choose server」–>「Close」–>「Reload」

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

  • 打開終端「Ctrl + Alt + T」,輸入sudo apt-get update

在這裏插入圖片描述

1.4 安裝fcitx輸入法

  • 卸載IBUS

sudo apt-get purge ibusgithub

  • 打開ubuntu軟件中心,搜索fcitx,把帶企鵝圖標的軟件都裝上,這裏我沒有選擇fcitx5

在這裏插入圖片描述

  • 安裝輸入法碼錶,這裏裝的五筆拼音

sudo apt-get install fcitx-table-wbpyweb

  • 其餘輸入法以下:ubuntu

    • 拼音:fcitx-pinyin、fcitx-sunpinyin、fcitx-googlepinyin、fcitx-sogoupinyin
    • 五筆:fcitx-table、fcitx-table-wubi、fcitx-table-wbpy
  • 防止出現兩個輸入法圖標瀏覽器

sudo apt remove fcitx-ui-classicbash

  • 選擇fcitx爲系統輸入法,「設置」–>「Region & Language」–>「Manage Installed Languages」–>彈出的對話框選「Remind Me Later」–>"Keyboard input method system"選擇fcitx–>「close」

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

  • 重啓系統

sudo reboot網絡

  • 點擊右上角出出現的企鵝圖標–>ConfigureFcitx

在這裏插入圖片描述

  • 點擊「+」–>去掉"Only Show Current Language"前面的勾–>下方搜索框中輸入"wb"–>選擇"WubiPinyin"–>「OK」

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

  • 至此,Ubuntu20.04安裝完成

2.NVIDIA顯卡驅動安裝

2.1 查看顯卡型號並下載對應驅動

  • 查看本身的顯卡型號,終端輸入:lspci | grep -i vga,返回的是一個十六進制的代碼(若是有集成顯卡須要先關掉集顯,圖中的顯卡是1650 SUPER)

在這裏插入圖片描述

  • 若是已經安裝了NVIDIA驅動,就會顯示顯卡型號

在這裏插入圖片描述

  • 打開這個網站:The PCI ID Repository,在下方的輸入框中輸入十六進制代碼查詢相應的顯卡型號

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

  • 固然,若是已經安裝了NVIDIA的顯卡驅動,也能夠直接在終端輸入nvidia-smi查看顯卡型號及驅動等信息

在這裏插入圖片描述

  • 根據本身的顯卡型號,到NVIDIA官網下載對應的驅動 (這裏的網址只是GeForce類型的驅動,若是是TITAN或Quadro等能夠在這個網址下載,下載步驟相似)

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

2.2 安裝NVIDIA顯卡驅動

2.2.1 禁用nouveau驅動

  • nouveau是由第三方爲NVIDIA顯卡開發的一個開源3D驅動,Ubuntu默認集成了nouveau驅動,若不由用,安裝時會報錯
  • nouveau禁止命令寫入文件,打開如下文件

sudo gedit /etc/modprobe.d/blacklist.comf

  • 文件末尾添加如下語句,保存退出

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off



在這裏插入圖片描述

  • 調用指令禁止nouveau

echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

  • 更新內核

sudo update-initramfs -u

在這裏插入圖片描述

2.2.2 安裝NVIDIA驅動

  • 重啓系統

sudo reboot

  • 進入tty模式,這裏F1~F6均可以,個人是F2進入,輸入用戶名和密碼登陸(注意這時小鍵盤不能用,個人電腦這裏報了一個聲卡的錯誤,按Ctrl+C強行關掉就行,不會影響後面的安裝)

ctrl + alt + F2

在這裏插入圖片描述

  • 關閉lightdm

sudo service lightdm stop

  • 若是上面指令提示Failed to stop lightdm.service: unit lightdm.service not loaded.
    則先安裝lightdm:sudo apt install lightdm,彈出的界選擇lightdm,再用上面的指令關閉

在這裏插入圖片描述

  • 繼續輸入

sudo init 3

  • 切換到下載的NVIDIA驅動安裝包所在目錄,賦予可執行權限並安裝

cd ~/Download
chmod +x NVIDIA-Linux-x86_64-455.28.run
sudo sh NVIDIA-Linux-x86_64-455.28.run --no-opengl-files
注意:no前面是兩個橫槓,不然會致使安裝失敗


  • 接着會出現一些界面,按下面所示選擇安裝

一、An alternate method of installing the NVIDIA driver was detected. 選擇continue installation
這個應該是推薦你經過Ubuntu的「Software & application」中的「Additional Drivers」安裝驅動,不用管,繼續安裝在這裏插入圖片描述
二、The distribution-provided pre-install script failed! Are you sure you want to continue? 選擇 yes 繼續。
三、Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 選擇NO繼續
四、Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 選擇 Yes 繼續
五、Install NVIDIA’s 32-bit compatibility libraries? 選擇No 繼續
在這裏插入圖片描述





注1:若是提示找不到gcc和make,能夠在命令行中安裝gcc和make後再安裝驅動

sudo apt-get install gcc
sudo apt-get install make

注2:若是出現下面的錯誤提示,是由於bios的Secure Boot打開了,須要進入bios關閉

The target kernel has CONFIG_MODULE_SIG set, which means that it supports cryptographic signatures on kernel modules. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key. This system also has UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


  • 上面的錯誤都排除掉,安裝完成

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

  • 完成後輸入nvidia-smi查看顯卡信息,若是顯示以下內容,說明安裝成功

在這裏插入圖片描述

  • 重啓

sudo reboot

  • 重啓後打開終端,輸入nvidia-smi

在這裏插入圖片描述

  • 輸入nvidia-settings,若是以下圖顯示,說明安裝成功

在這裏插入圖片描述

3.CUDA11.1安裝

  • NVIDIA開發者官網下載CUDA,選擇本身對應的系統和安裝方式,下方會出現對應的安裝指令,推薦使用runfile方式安裝,若是想安裝以前的版本,能夠到這裏下載

在這裏插入圖片描述

在這裏插入圖片描述

  • 下載cuda(若是是比較早的版本,須要把安裝文件和全部補丁文件都下載,而後運行)

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run

  • 下載完成後,進行安裝

sudo sh cuda_11.1.0_455.23.05_linux.run

  • 輸入accept

在這裏插入圖片描述

  • 由於以前已經安裝好了顯卡驅動,安裝CUDA時不須要選擇顯卡驅動,按回車便可取消前面的X,Install

在這裏插入圖片描述

  • 最後會提示安裝未完成,是由於咱們沒有選擇顯卡驅動,不用管,只要顯示下面的內容就是安裝成功

在這裏插入圖片描述

  • 添加環境變量,打開profile文件

sudo gedit /etc/profile

  • 在末尾處添加如下內容(注意不要有空格,否則會報錯)

export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64$LD_LIBRARY_PATH

  • 重啓電腦

sudo reboot

  • 測試CUDA是否安裝成功,按如下指令編譯、運行,若是顯示有關GPU的信息,說明安裝成功

cd /usr/local/cuda-11.1/samples/1_Utilities/deviceQuery
sudo make
/deviceQuery

在這裏插入圖片描述

  • 也能夠輸入nvcc -V查看CUDA版本

nvcc -V

在這裏插入圖片描述

4.CUDNN8.0.4安裝

  • 到官網下載與CUDA11.1對應的CUDNN版本,下載CUDNN須要註冊NVIDIA開發者帳號
    注:建議高版本的cudnn下載deb安裝包進行安裝,直接安裝便可,不須要複製文件

在這裏插入圖片描述

  • 登陸–>贊成

在這裏插入圖片描述

  • 下載cuDNN8.0.4
    • cuDNN Runtime Library for Ubuntu18.04 x86_64

    • cuDNN Developer Library for Ubuntu18.04 x86_64

    • cuDNN Code Samples and User Guide for Ubuntu18.04 x86_64

在這裏插入圖片描述

  • 下載完成按如下順序分別安裝三個安裝包
  • 注:這裏必定要按順序安裝

sudo dpkg -i libcudnn8_8.0.4.30-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.4.30-1+cuda11.1_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.4.30-1+cuda11.1_amd64.deb

  • CUDNN安裝完成
    在這裏插入圖片描述

5.OpenCV4.4.0編譯

opencv安裝過程當中會有不少文件不能下載致使安裝失敗,若是有須要到文末百度雲下載。

5.1 安裝依賴包

sudo apt-get update -y # Update the list of packages
sudo apt-get remove -y x264 libx264-dev # Remove the older version of libx264-dev and x264
sudo apt-get install -y build-essential checkinstall cmake pkg-config yasm
sudo apt-get install -y git gfortran
sudo add-apt-repository -y 「deb http://security.ubuntu.com/ubuntu xenial-security main」
sudo apt-get update
sudo apt-get install -y libjpeg8-dev libjasper-dev libpng12-dev
sudo apt-get install -y libtiff-dev
sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
sudo apt-get install -y libxine2-dev libv4l-dev
sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y qt5-default libgtk2.0-dev libtbb-dev
sudo apt-get install -y libatlas-base-dev
sudo apt-get install -y libfaac-dev libmp3lame-dev libtheora-dev
sudo apt-get install -y libvorbis-dev libxvidcore-dev
sudo apt-get install -y libopencore-amrnb-dev libopencore-amrwb-dev
sudo apt-get install -y x264 v4l-utils















安裝以上依賴我並無出錯,若是出現錯誤提示,這裏列出幾個錯誤及解決方案,具體參考這篇博客

  • 錯誤一:

E: Unable to locate package libjasper-dev

  • 解決方法:

sudo add-apt-repository 「deb http://security.ubuntu.com/ubuntu xenial-security main」
sudo apt-get update
sudo apt-get install libjasper-dev

  • 錯誤二:

E: Unable to locate package libgstreamer0.10-dev\

  • 解決方法:

sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

5.2 下載opencv-4.4.0和opencv_contrib-4.4.0

OpenCV 4.4.0:

https://github.com/opencv/opencv/tags

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

OpenCV contrib 4.4.0

https://github.com/opencv/opencv_contrib/tags

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

  • 下載完成後在主目錄下新建software目錄

cd ~
mkdir software

  • 解壓opencv到software

cd Download
tar -zxvf opencv-4.4.0.tar.gz -C /home/username/software
tar -zxvf opencv_contrib-4.4.0.tar.gz -C /home/username/software/opencv4.4.0

5.3 安裝OpenCV

5.3.1 Configure

  • 安裝cmake-gui

sudo apt-get install cmake-gui

  • 進入software/opencv-4.4.0目錄,新建build目錄,進入build目錄並運行cmake-gui

cd /home/username/software/opencv-4.4.0
mkdir build
cd build
cmake-gui …
注意:cmake-gui後面的兩個點不能丟



  • 彈出的CMake圖形化界面,確認上面的兩個路徑

/home/username/software/opencv-4.4.0
/home/username/software/opencv-4.4.0/build

在這裏插入圖片描述

  • 點擊Configure–>選擇Unix Makefiles–>Finish

在這裏插入圖片描述

  • configure過程會下載一些文件,通常由於網絡問題會出現下面的錯誤

在這裏插入圖片描述

  • 這是由於下載ippicv_2020_lnx_intel64_20191018_general.tgz這個文件時出錯,須要手動從github下載該文件,下載連接以下

https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20191018/ippicv
注:其餘opencv版本若是不知道對應的文件,能夠先Configure一次,完成後查看紅色信息會找到對應的版本,從官網下載對應的文件便可,能夠參考這篇博客

  • 將下載好的文件放在/home/username/software/opencv-4.4.0/3rdparty/ippicv目錄下,而且打開該目錄下的ippicv.cmake文件,將第42行的網址註釋掉,改成

「file:/home/username/software/opencv-4.4.0/3rdparty/ippicv/」

  • 保存後退出

在這裏插入圖片描述

  • 從新Configure,沒有紅色錯誤,成功

在這裏插入圖片描述

5.3.2 Generate

  • Configure完成後,對4個地方進行修改:

    • CMAKE_BUILD_TYPE處選擇Release,若是沒有選項手動輸入便可;下方的CMAKE_INSTALL_PREFIX保持默認路徑/usr/local
      在這裏插入圖片描述

    • OPENCV_EXTRA_MODULES_PATH處選擇/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/下的modules目錄

    • OPENCV_GENERATE_PKGCONFIG選項打勾,這一項是用來生成opencv.pc文件,很重要
      在這裏插入圖片描述

    • BUILD_opencv_world選項打勾,默認是不勾選的,勾選後最後只會產生一個庫文件
      在這裏插入圖片描述

  • 直接Generate一般會失敗,一樣是由於下載文件出錯

在這裏插入圖片描述

  • 因此咱們提早下載好,下載失敗的文件有:

boostdesc_lbgm.i
boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_48.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_120.i
face_landmark_model.dat










  • 前面11個文件對應opencv_contrib-4.4.0目錄下的/modules/xfeatures2d/中的文件,最後一個文件face_landmark_model.dat對應的是opencv_contrib-4.4.0目錄下的/modules/face/中的文件
  • 前7個文件的下載連接:

https://github.com/opencv/opencv_3rdparty/tree/contrib_xfeatures2d_boostdesc_20161012

  • 第8個到第11個文件的下載連接:

https://github.com/opencv/opencv_3rdparty/tree/contrib_xfeatures2d_vgg_20160317

  • 11個文件下載完成後所有複製到/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src目錄下,而後進入home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/cmake目錄中
  • 打開download_boostdesc. cmake文件,把第27行的網址註釋掉,改成

「file:/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src/」

在這裏插入圖片描述

  • 一樣的,打開download_vgg.cmake文件,把第21行的網址註釋掉,改成

「file:/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/xfeatures2d/src/」

在這裏插入圖片描述

  • 最後一個文件face_landmark_model.dat的下載連接是:

https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
這個連接不太好用,直接上網盤下載

  • 下載後放入home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/face目錄下,打開該目錄下的CMakeLists.txt文件,把第19行的網址註釋掉,改成

「file:/home/username/software/opencv-4.4.0/opencv_contrib-4.4.0/modules/face/」

在這裏插入圖片描述

  • 從新Generate,出現Configuring done和Generating done後,確認沒有紅色報錯

在這裏插入圖片描述

5.3.3 帶CUDA編譯

  • 在搜索框中輸入cuda,出現的全部選項都打勾

在這裏插入圖片描述

  • 搜索test,出現的全部選項都取消勾選

在這裏插入圖片描述

  • 選項ENABLE_FAST_MATH上打勾

在這裏插入圖片描述

  • 再次點擊Configure,出現Configuring done後,確認沒有紅色錯誤,確認找到CUDA和cuDNN

在這裏插入圖片描述

  • 這時會出現一些新的選項,首先在CUDA_FAST_MATH選項後打勾

在這裏插入圖片描述

  • 搜索cuda,確認全部選項都打勾

在這裏插入圖片描述

  • 再次Generate,出現Configuring Done和Generating Done後,確認沒有報錯,確認找到CUDA和cuDNN,退出cmake-gui。

在這裏插入圖片描述

5.3.4 make

  • 打開終端,進入build目錄

cd /home/username/software/opencv-4.4.0/build
make
注:這裏能夠多線程編譯,不過直接make出問題的機率小一點
多線程:
(1)查看CPU核心數:nproc
(2)make -j16




  • 等待一段時間,100%完成便可

在這裏插入圖片描述

  • 執行:

sudo make install

再次出現100%,就成功了。

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

5.3.5 配置環境變量

  • 打開opencv.conf文件,在文件尾末添加/usr/local/lib

sudo gedit /etc/ld.so.conf.d/opencv.conf

  • 配置庫:

sudo ldconfig

  • 添加環境變量,打開bash.bashrc文件

sudo gedit /etc/bash.bashrc

  • 在文件尾末添加如下內容

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存後退出,source一下

source /etc/bash.bashrc

到此,帶有CUDA的OpenCV4.4.0就安裝完成了,能夠用如下命令查看opencv的版本:

pkg-config --modversion opencv

接下來咱們測試一下opencv。

6.OpenCV測試程序

  • 在主目錄下新建Projects目錄,用於存放工程代碼,新建opencv_test工程目錄,在工程目錄下建立main.cpp源文件和CMakeLists.tst文件

cd ~
mkdir Projects/opencv_test -p
cd Projects/opencv_test
touch main.cpp CMakeLists.txt


  • 在CMakeLists.tst中添加以下代碼:
cmake_minimum_required(VERSION 2.8)
project(opencv_test)

set(CMAKE_CXX_STANDARD 14)

find_package(OpenCV)
include_directories(${OpenCV_INCLUDE_DIRS})

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}")

add_executable(opencv_test main.cpp)
target_link_libraries(opencv_test ${OpenCV_LIBS})
  • 在main.cpp中添加以下代碼:
#include <iostream>
#include <opencv2/opencv.hpp>

int main(int argc, char** argv) { 
    cv::Mat src = cv::imread("../1.jpeg");
    if (src.empty()) { 
        std::cout << "could not load image..." << std::endl;
        return -1;
    }
    cv::namedWindow("input image", cv::WINDOW_AUTOSIZE);
    cv::imshow("input image", src);

    cv::waitKey(0);
    return 0;
}
  • 準備一張小貓咪的圖片放在opencv_test目錄下,目錄結構以下圖

—opencv_test
 |__ build
 |__ 1.jpeg
 |__ CMakeLists.txt
 |__ main.cpp



  • 編譯、運行代碼:

mkdir build
cd build
cmake …
make
./opencv_test



運行結果以下:
在這裏插入圖片描述

7.YOLO v3測試

下載darknet:github連接

git clone https://github.com/AlexeyAB/darknet

下載權重文件(YOLO權重文件下載很慢,已經下好放在百度雲,有須要到文末下載):

wget https://pjreddie.com/media/files/yolov3.weights

修改Makefile文件:

GPU=1
CUDNN=1
CUDNN_HALF=1
OPENCV=1


將ARCH後面的-gencode arch=compute_30,code=sm_30刪掉

ARCH= -gencode arch=compute_35,code=sm_35
    -gencode arch=compute_50,code=[sm_50,compute_50] /
    -gencode arch=compute_52,code=[sm_52,compute_52] /
    -gencode arch=compute_61,code=[sm_61,compute_61]


運行YOLO v3:

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

檢測結果以下:
在這裏插入圖片描述在這裏插入圖片描述注1:若是遇到相似"error: ‘IplImage’ does not name a type"和"error: ‘CV_CAP_PROP_FRAME_WIDTH’ was not declared in this scope"的錯誤,能夠參考這篇博客

注2:若是使用官網的darknet,可能會出現"error:‘CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT’ undeclared(first use in this function);did you mean ‘CUDNN_CONVOLUTION_FWD_ALGO_DIRECT’"這樣的錯誤,這是由於CUDNN版本的問題,能夠參考這篇博客,用本文給出的darknet連接應該不會報這個錯

注3:「error: conversion from ‘cv::Mat’ to non-scalar type ‘IplImage’ {aka ‘_IplImage’} requested」,參考這篇博客

參考

  1. Linux(Ubuntu)系統查看顯卡型號
  2. 安裝ubuntu18.04分區設置
  3. Ubuntu安裝 Realtek R8125 驅動
  4. Ubuntu18.04安裝fcitx輸入法
  5. Ubuntu18.04安裝NVIDIA顯卡驅動
  6. Ubuntu16.04下安裝NVIDIA顯卡驅動
  7. Ubuntu 18.04配置OpenCV 4.2.0
  8. ubuntu安裝opencv沒法下載IPPICV的問題 ippicv_2020_lnx_intel64_20191018_general.tgz
  9. 百度雲連接: https://pan.baidu.com/s/1mUNoZeuPXOt-BihZb_LrVw 密碼: 5hqk
相關文章
相關標籤/搜索