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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu16.04 在cuda9.0环境下编译安装opencv2.4.13.7

發(fā)布時(shí)間:2024/9/21 Ubuntu 86 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu16.04 在cuda9.0环境下编译安装opencv2.4.13.7 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ubuntu16.04 在cuda9.0環(huán)境下編譯安裝opencv2.4.13.7
安裝步驟:
1.安裝cuda9.0:https://blog.csdn.net/zhuangwu116/article/details/81063234
2.安裝依賴包:

sudo apt-get install build-essential
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install cmake git libgtk2.0-dev pkg-config

這里還需要安裝解碼音視頻庫(kù),安裝解碼音視頻庫(kù)有兩種方法:
(1)一種是編譯安裝:
(2)另一種是命令安裝:

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev

如何已經(jīng)編譯安裝解碼視頻庫(kù)的可以跳過(guò),不需要命令安裝,以免沖突。
3.下載代碼:

git clone https://github.com/opencv/opencv.git
cd opencv
git checkout -b 2.4.13.7

或者你也可以直接下載壓縮包 地址
4.修改opencv編譯腳本

修改opencv編譯的腳本是因?yàn)閮牲c(diǎn):

1.在cuda9里面,NVIDIA把 libnppi.so換成libnppc.so libnppial.so libnppicc.so libnppicom.so libnppidei.so libnppif.so libnppig.so libnppim.so libnppist.so libnppisu.so libnppitc.so libnpps.so

2.cuda9里面不支持‘ compute-20 ’

1.解決第一個(gè)問(wèn)題:
修改opencv/cmake/FindCUDA.cmake 文件,將524行的

unset(CUDA_nppi_LIBRARY CACHE)

修改為

unset(CUDA_nppial_LIBRARY CACHE)
unset(CUDA_nppicc_LIBRARY CACHE)
unset(CUDA_nppicom_LIBRARY CACHE)
unset(CUDA_nppidei_LIBRARY CACHE)
unset(CUDA_nppif_LIBRARY CACHE)
unset(CUDA_nppig_LIBRARY CACHE)
unset(CUDA_nppim_LIBRARY CACHE)
unset(CUDA_nppist_LIBRARY CACHE)
unset(CUDA_nppisu_LIBRARY CACHE)
unset(CUDA_nppitc_LIBRARY CACHE)

修改opencv/cmake/FindCUDA.cmake 文件,將799行和801行的

find_cuda_helper_libs(nppi)
set(CUDA_npp_LIBRARY"${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}")

修改為

find_cuda_helper_libs(nppial)
find_cuda_helper_libs(nppicc)
find_cuda_helper_libs(nppicom)
find_cuda_helper_libs(nppidei)
find_cuda_helper_libs(nppif)
find_cuda_helper_libs(nppig)
find_cuda_helper_libs(nppim)
find_cuda_helper_libs(nppist)
find_cuda_helper_libs(nppisu)
find_cuda_helper_libs(nppitc)
set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppial_LIBRARY};${CUDA_nppicc_LIBRARY};${CUDA_nppicom_LIBRARY};${CUDA_nppidei_LIBRARY};${CUDA_nppif_LIBRARY};${CUDA_nppig_LIBRARY};${CUDA_nppim_LIBRARY};${CUDA_nppist_LIBRARY};${CUDA_nppisu_LIBRARY};${CUDA_nppitc_LIBRARY};${CUDA_npps_LIBRARY}")

?

2.解決第二個(gè)問(wèn)題方案
更改 OpenCVDetectCUDA.cmake 文件,把有關(guān) ‘ compute-20 ’ 的修改掉。
將74行中的

?73??? if(CUDA_GENERATION STREQUAL "Fermi")
?74???? set(__cuda_arch_bin "2.0 2.1(2.0)")
?75???? elseif(CUDA_GENERATION STREQUAL "Kepler")
?76???? if(${CUDA_VERSION} VERSION_LESS "5.0")
?77?????? set(__cuda_arch_bin "3.0")
?78???? else()
?79?????? set(__cuda_arch_bin "3.0 3.5")
?80??? endif()

修改成

?73??? if(CUDA_GENERATION STREQUAL "Fermi")
?74???? set(__cuda_arch_bin "3.0 3.5")
?75???? elseif(CUDA_GENERATION STREQUAL "Kepler")
?76???? if(${CUDA_VERSION} VERSION_LESS "5.0")
?77?????? set(__cuda_arch_bin "3.0")
?78???? else()
?79?????? set(__cuda_arch_bin "3.0 3.5")
?80??? endif()

將107行

104????? if(${CUDA_VERSION} VERSION_LESS "5.0")
105???????? set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0")
106?????? elseif(${CUDA_VERSION} VERSION_GREATER "6.5")
107???????? set(__cuda_arch_bin "2.0 2.1(2.0) 3.0 3.5")
108?????? else()
109???????? set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0 3.5")
110?????? endif()
111?????? set(__cuda_arch_ptx "3.0")
112???? endif()

修改成

104????? if(${CUDA_VERSION} VERSION_LESS "5.0")
105???????? set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0")
106?????? elseif(${CUDA_VERSION} VERSION_GREATER "6.5")
107???????? set(__cuda_arch_bin "3.0 3.5")
108?????? else()
109???????? set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0 3.5")
110?????? endif()
111?????? set(__cuda_arch_ptx "3.0")
112???? endif()

5.編譯安裝OpenCV

mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j7 #此處看您的cpu內(nèi)核數(shù),本人機(jī)器8核
sudo make install

6.測(cè)試OpenCV

$ python
>>import cv2
>>print cv2.__version__

參考:https://docs.opencv.org/2.4.13.7/doc/tutorials/introduction/linux_install/linux_install.html#linux-installation
參考:http://wgshun.top/2018/06/ubuntu-install-opencv/
?———————————————— ?
版權(quán)聲明:本文為CSDN博主「徑向基」的原創(chuàng)文章,遵循CC 4.0 by-sa版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zhuangwu116/article/details/81136117

總結(jié)

以上是生活随笔為你收集整理的ubuntu16.04 在cuda9.0环境下编译安装opencv2.4.13.7的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。