1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 项目环境配置:Ubuntu16.04安装显卡驱动 CUDA CUDNN 为python3编译带cuda等的opencv pytorch

项目环境配置:Ubuntu16.04安装显卡驱动 CUDA CUDNN 为python3编译带cuda等的opencv pytorch

时间:2020-06-08 11:25:54

相关推荐

项目环境配置:Ubuntu16.04安装显卡驱动 CUDA CUDNN 为python3编译带cuda等的opencv pytorch

注:笔记本带有显卡时,在Ubuntu系统下需要安装显卡驱动、CUDA、CUDNN、tensorflow-gpu、pytorch-gpu、编译opencv等这几者需要版本等要求对应。(opencv的编译选项中的CUDA需要匹配安装的cuda的算力,pytorch需根据对应的CUDA选择下载不同的下载命令)

一、用U盘安装ubuntu16.04、16.06系统

根据电脑位数下载ubuntu16.04(可以安装ubuntu18.04,因为其python3的默认版本为python3.6,但是可能运行雷达程序会出问题,因为gcc版本可能过高等原因):(梓豪说16.06装起来很舒服,少了很多bug,装好anaconda就可以使用navigator!!!)

第二次在实验室电脑R720装的是ubuntu18.04(1060GPU),18.04最好使用系统设置里面来安装显卡驱动,因为没有lightdm

/16.04/

一般选择国内的源里面的:https://mirrors.tuna./ubuntu-releases/16.04/

ubuntu下制作ubuntu16.04的系统启动盘(不需要别的软件,直接格式化优盘,):

/article/5d6edee2c65c2a99eadeecd4.html

# 格式化优盘后sudo fdisk -l# 会显示格式化的盘符,下面的/dev/sdc2需要替换成格式化的优盘的盘符mkfs -t ntfs /dev/sdc2# 从dash面板搜索qi,可以看到启动盘创建器,点击后选择iso镜像和优盘,等待完成即可

windows下制作ubuntu16.04的优盘启动盘:软件名:Universal-USB-Installer

二、修改用户密码

sudo susudo passwd [username]

三、安装显卡驱动

不推荐如下方法(有人没安装成功):还有一种方法是不先安装显卡驱动,先去cuda官网下载所需的cuda,系统会自动安装最新且最合适的显卡驱动,参考链接:/qq997843911/article/details/85039021

刚开机可能会出现分辨率不对的问题,界面显示不全,这个问题安装完显卡驱动就好了

有四种方法,第一是下载驱动安装(最靠谱,因为为了对应后面的cuda、cudnn等版本),第二种是通过系统的附加驱动安装,第三种是通过官方的ppa源进行安装,第四种是命令行查询并让电脑自己选择合适的显卡驱动安装。

方法一:下载驱动安装

安装显卡驱动链接:/weixin_41864878/article/details/79621210

1、在官网选择自己电脑显卡对应的显卡驱动:/drivers

语言不知道选Chinese(Simplified)还是选English,个人觉得应该选择English

搜索的结果会很多,需要根据要安装的cuda版本(选runfile(local))确定显卡驱动的版本,或者在网址:/cuda/cuda-toolkit-release-notes/index.html查看显卡驱动与cuda的对应关系。

例如选择cuda10.0版本,看到Run `sudo shcuda_10.0.130_410.48_linux.run`,则知道需要安装410.48或以上版本的显卡驱动(显卡驱动向下兼容)

# 显卡驱动网址/drivers # CUDA网址/cuda-toolkit-archive# CUDNN网址/rdp/cudnn-archive

2、打开终端,首先卸载一下之前安装的(之前没有装过的就不用管了,直接从下一步开始)

$ sudo apt-get --purge remove nvidia-*

3、打开blacklist:

$ sudo gedit /etc/modprobe.d/blacklist.conf# 在最后添加几行:blacklist vga16fbblacklist nouveaublacklist rivafbblacklist nvidiafbblacklist rivatv# 然后保存退出。#这个地方容易出现的问题是明明把nouveau添加到了blacklist里,安装驱动的时候还是会出现这个错误,后面会讲解决办法。

4、接下来是针对nouveau的双重保险:

# 1、在终端运行$ lsmod | grep nouveau# 2、如果没有输出,可以忽略下面这一段,直接开始安装1080的驱动,如果仍有输出,终端输入:$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf# 3、直接写入下面命令,blacklist nouveau 是将Ubuntu自带的显卡驱动加入黑名单blacklist nouveaublacklist lbm-nouveauoptions nouveau modeset=0alias nouveau offalias lbm-nouveau off# 保存关闭# 4、再尝试,使禁用 nouveau 真正生效终端输入 : sudo update-initramfs -u$ sudo update-initramfs -u$ lsmod | grep nouveau#如果这样还有输出,reboot一次切记不要物理重启!!!如果物理重启报错:"Welcome to emergency mode"等无法开机则按照指示,执行:$ journalctl -xb然后在输出的文件中查找受损的分区/fsck fail可以看到显示为红色的UUID,然后执行下面命令看知道对应的盘符$ sudo blkid# 可以通过UUID得到对应的盘符,然后执行fsck校验并修复文件$ fsck -y /dev/sda11 #将/dev/sda11改为自己对应的盘符$ sudo reboot

5、开始安装显卡驱动

# 注:记住你的驱动的.run文件的下载路径和完整文件名(如果你的版本号和我的不同,请自行修改),# 1、按Ctrl+Alt+F1进入命令界面(切换tty1控制台),登入,需要结束x-window的服务,否则驱动将无法正常安装$ sudo /etc/init.d/lightdm stop# 2、进入文本模式$ sudo init 3# 3、进入.run文件的下载路径,由于我的文件下载下来没有运行权限,先用chmod手动设置一下$ chmod a+x NVIDIA-Linux-x86_64-410.78.run$ sudo ./NVIDIA-Linux-x86_64-410.78.run -no-x-check -no-nouveau-check -no-opengl-files # 上面紧接着这句是关闭x server,nouveau和不下载opengl文件(我也不太明白是个啥)之后就会开始安装程序,complete后检查一下# 4、重新启动X-Window:sudo service lightdm start,然后Ctrl+Alt+F7进入图形界面$ sudo service lightdm start# 5、检查是否安装成功$ nvidia-smi# 6、出现大框框就ok,之后回到图像界面$ sudo /etc/init.d/lightdm start

方法二: 通过系统的附加驱动进行安装

系统设置->软件更新->附加驱动->选择nvidia最新驱动(361)->应用更改,重启后生效

方法三: 通过官方的ppa源进行安装

参考链接:/chenyuping333/article/details/81705528

# 1、快捷键ctrl+alt+T打开命令终端,加入官方ppa源$ sudo add-apt-repository ppa:graphics-drivers/ppa# 2、需要输入密码并按enter键确认。之后刷新软件库并安装最新驱动$ sudo apt-get update$ sudo apt-get install nvidia-367nvidia-settings nvidia-prime# 3、安装完成后通过下面命令查看是否安装成功$ nvidia-settings# 4、注意安装完成后要重启,有如下效果则安装完成,否则就说明安装有问题,尝试关闭UEFI保护试试。# 安装了nvidia367后循环登录出现问题,解决参考/p/34236a9c4a2f

双显卡的电脑,搜索栏输入nvidia-settings,打开搜索的结果,双显卡的同学设置->详细信息中显卡默认为Intel集成显卡

方法四: 命令行进行Nvidia显卡配置

参考链接:/qq_37935670/article/details/80377196

# 1、terminal查询集成显卡和独立显卡$ lspci | grep -i vga$ lspci | grep -i 3d# 2、开机时进入BIOS,)禁用自己的secure boot,也就是设置为disable,具体的进入自己bios中找一下,一般在security或者boot里面# 3、进入系统后,运行下面两行命令,让电脑自己安装合适的显卡驱动$ ubuntu-drivers devices$ sudo ubuntu-drivers autoinstall# 4、重新启动,然后在应用中找到nvidia setting,查看显卡驱动是否安装成功

四、禁止系统自动更新及内核更新

此时系统的显示会恢复正常

/ezhchai/article/details/80525207

1、禁止系统自动更新

方法一:图形用户界面

方法二、修改系统配置文件

# 1、打开指定文件 $ sudo gedit /etc/apt/apt.conf.d/10periodic # 2、将文件中所有选项数值置为0# 3、保存并退出

2、关闭内核更新,避免内核自动升级导致的问题

法一:最粗暴的办法上面的四.1、就是在软件与更新中设置never

法二:参考链接:/weixin_40522162/article/details/80302735

法二:# dpkg -l是列出所有安装的软件,第一行是ii 第一个i表示desired status为安装, 第二个i表示current status. # **linux-image** 是linux内核的名称$ sudo dpkg --get-selections |grep linux-image #查看所有已安装及未安装内核的信息$ uname -a#查看正在使用的内核 $ sudo apt remove linux-image-4.15.0-39-generic #删除当前内核#禁止内核更新,需要时间检验 例如:$ sudo apt-mark hold linux-image-4.15.0-38-generic $ sudo apt-mark hold linux-image-x.xx.x-xx-generic$ sudo apt-mark hold linux-image-extra-x.xx.x-xx-generic# 如果需要恢复原来的设定的话即允许更新内核,执行如下命令即可:$ sudo apt-mark unhold linux-image-x.xx.x-xx-generic$ sudo apt-mark unhold linux-image-extra-x.xx.x-xx-generic

注:

可能会出现重启进不去的情况,有可能是系统自己升级了内核,需要到Advance中选择合适的内核进去

如何删除linux中的旧内核:/Linux/-09/123227.htm

五、更改ubuntu16.04的源

只有Nvidia的显卡才可以用CUDA和CUDNN

$ sudo gedit /etc/apt/sources.list# 保存并退出# 注意千万别 upgrade$ sudo apt-get update

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (0420.1)]/ xenial main restricteddeb-src /ubuntu xenial main restricted #Added by software-propertiesdeb /ubuntu/ xenial main restricteddeb-src /ubuntu/ xenial main restricted multiverse universe #Added by software-propertiesdeb /ubuntu/ xenial-updates main restricteddeb-src /ubuntu/ xenial-updates main restricted multiverse universe #Added by software-propertiesdeb /ubuntu/ xenial universedeb /ubuntu/ xenial-updates universedeb /ubuntu/ xenial multiversedeb /ubuntu/ xenial-updates multiversedeb /ubuntu/ xenial-backports main restricted universe multiversedeb-src /ubuntu/ xenial-backports main restricted universe multiverse #Added by software-propertiesdeb /ubuntu xenial partnerdeb-src /ubuntu xenial partnerdeb /ubuntu/ xenial-security main restricteddeb-src /ubuntu/ xenial-security main restricted multiverse universe #Added by software-propertiesdeb /ubuntu/ xenial-security universedeb /ubuntu/ xenial-security multiverse

六、安装cuda及cudnn

在运行不同的代码程序时可能需要的libcublas.so.8.0\9.0\10.0,这种情况可以同时安装多版本的cuda,可以百度一下,安装第一个cuda,软链接时要选y,别的不能选y,要选n,然后每次切换时修改软链接命令即可!!!

参考:/weixin_41864878/article/details/79621210

1、上面的三已经根据cuda版本安装好了显卡驱动。现在开始安装cuda,一般下载runfiles(local)

网址中CUDA10.0的安装要求如下:红色框表示要求的显卡驱动最低版本是410.48,显卡驱动是向下兼容的。

有一个关键是会让你选择是否安装Graphics Driver for Linux-x86_64:XXXX版本,这个地方必须选择no!否则会覆盖之前的驱动

# 1、cuda下载网址,选择历史版本click legacy releases/cuda-downloads# 2、在下载的文件夹打开terminal,输入对应的:$ chmod a+x cuda_9.0.176_384.81_linux.run$ sudo ./cuda_9.0.176_384.81_linux.run# 3、之后就会开始安装,按q退出说明文件,然后按指令输入就行,一般是yes# 4、有一个关键是会让你选择是否安装Graphics Driver for Linux-x86_64:XXXX版本,# 这个地方必须选择no!否则会覆盖之前的驱动# 5、安装完毕之后,声明环境变量,终端输入:,/etc/profile中设定的变量(全局)的可以作用于任何用户,有些教程是$ sudo gedit ~/.bashrc#而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.$ sudo gedit /etc/profile# 6、在打开的文件最后加上:export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}# 10.0的话加上如下命令export CUDA_HOME=/usr/local/cuda-10.0 export PATH=$PATH:$CUDA_HOME/bin:${PATH} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}# 7、保存并退出$ source /etc/profile# 8、验证显卡驱动版本$ cat /proc/driver/nvidia/version# 9、验证CUDA版本$ nvcc -V# 10、测试cuda的样例$ cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery$ sudo make$ ./deviceQuery

2、安装cudnn

(1)下载cudnn有两种方法(别选版本太高的),法一需要登录,现在可以用微信登录了,优势是可以直接点击下载;法二不需要登录,但是不能直接点击,需要右击save...或者复制链接,用迅雷等工具下载,但是下载的不是正常的压缩包,所以不推荐法二。

# 法一:对应cuda10.0的cudnn7.4.2网址(需要登陆,现在可以微信扫码登录):/rdp/cudnn-archive# 法二:绕过登录,下面是cudnn各个版本的下载网站,不能直接点,需要右击复制链接,或者存储为,选择对应的cuda的cudnn版本下载!!!/rdp/cudnn-archive#a-collapse51b

切记选择 for linux(相比于 for ubuntu 16.04,这个是最全的)!!!

注:适合某个CUDA版本的会有多个cudnn版本都可以,但是运行的时候可能出问题,所以一般不下载太新的cudnn版本

别人的教程有遇到过问题:

# 最开始下载了7.1.1 for CUDA9.0,跑程序的时候出现了Loaded runtime CuDNN library: 7101 (compatibility version 7100) but source was compiled with 7040 (compatibility version 7000). If using a binary install, upgrade your CuDNN library to match. If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.#查阅了资料意识到是下载的cuDNN版本过高了,于是又转头去下载7.0.4版本,来来回回卸载安装弄了好几遍,心态爆炸了很多次。话说回来,下载的是这个,得到的压缩包:cudnn-9.0-linux-x64-v7.tgz

(2)安装cudnn

# 1、如果之前安装的版本,先卸载之前安装的版本,没装过cudnn的可以直接进行下一步$ sudo rm -rf /usr/local/cuda/include/cudnn.h$ sudo rm -rf /usr/local/cuda/lib64/libcudnn*# 2、在下载路径解压文件,复制到本地路径,这里解压出来的文件名比较重要,后面会要对照着看$ tar -zxvf cudnn-9.0-linux-x64-v7.tgzcuda/include/cudnn.hcuda/NVIDIA_SLA_cuDNN_Support.txtcuda/lib64/libcudnn.socuda/lib64/libcudnn.so.7cuda/lib64/libcudnn.so.7.0.4cuda/lib64/libcudnn_static.a$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/# 3、cd到本地cuda路径,创建软连接,终端输入,这里的文件名就参照之前解压出来的文件名对照着写,就算和我下的不是一个版本也能搞定$ cd /usr/local/cuda/lib64$ sudo chmod +r libcudnn.so.7.0.4 $ sudo ln -sf libcudnn.so.7.0.4 libcudnn.so.7 $ sudo ln -sf libcudnn.so.7 libcudnn.so $ sudo ldconfig # 4、验证是否安装成功:在本地cuda路径检测一下$ ll# 5、出现cuDNN对应的版本号就证明安装成功啦,如下lrwxrwxrwx 1 root root 13 3月 19 16:02 libcudnn.so -> libcudnn.so.7*lrwxrwxrwx 1 root root 17 3月 19 16:02 libcudnn.so.7 -> libcudnn.so.7.0.4*-rwxr-xr-x 1 root root 287641664 3月 19 16:00 libcudnn.so.7.0.4*

七、安装Anaconda3(至此步结束,如果无法成功安装anaconda则进行八)

anaconda在每次发布新版本的时候都会给python3和python2都发布一个包,版本号是一样的。

直接下载自带python3.6的anaconda3-5.2.0即可,然后在base环境(有的叫root环境)里直接pip安装模块或者使用anaconda-navigator界面安装各种模块就可以了.

Anaconda与python的对应关系:/yuejisuo1948/article/details/81043823

各种版本的Anaconda网址:/archive/,或者进入anaconda官网,点击左下角的Documentation框里面的read more,点击Anaconda Distribution下面的Previous versions下面的archive即可看到所有的历史版本

一、安装Anaconda3# 1、下载Anaconda3# 2、进入到下载文件夹,开始安装anaconda3,根据提示,一路yes$ cd Downloads/$ bash Anaconda3-5.2.0-Linux-x86_64.sh# 3、验证是否安装anaconda成功,下面命令二选一$ anaconda -V$ conda --version# 4、如果未找到命令,说明anaconda3没有将路径配置到系统环境变量中$ echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc$ source ~/.bashrc# 4、或者设置Anaconda环境变量sudo gedit ~/.bashrc在其最后一行添加命令:export PATH="/home/neousys/anaconda3/bin:$PATH"使其生效source ~/.bashrc# 5、再次验证是否成功安装anaconda,还不可以的话就重启一下,shutdown -r now$ anaconda -V# 6、为了避免可能发生的错误, 我们可以在命令行输入:conda upgrade --all先把所有工具包进行升级。$ conda upgrade --all# 进入安装的环境env——base或创建的py36$ source activate base/py36二、子目录及主目录文件夹全部更改权限:chmod -R 700 Document/三、安装并打开Anaconda-navigator界面,注意点击Lock to Launcher# 法一$ source ~/anaconda3/bin/activate root$ anaconda-navigator# 法二$ conda install -c anaconda anaconda-navigator​$ anaconda-navigator四、安装环境# 1、安装pytorch,需要去pytorch选择选项得到对应的conda安装命令# 2、安装tensorflow-gpu,先检查pip是否是anaconda的pip:pip -V # 如果想装caffe的话,必须先装caffe再装tensorflow,参考/blog//12/dl_1.html$ pip -V# 然后安装tensorflow-gpupip install tensorflow-gpu# 3、安装opencv,参考/qq_24032231/article/details/84062936#下面带--c是自编译安装的意思,千万别直接conda install opecv3,因为那是安装别人编译好的conda install --channel /menpo opencv3 # 如果之前在anaconda下安装的失败了,卸载参考/qq_24032231/article/details/84062936# 查看opencv是否装好anaconda show menpo/opencv3或者:import cv2cv2.__version__# 如果运行cv2,报以下错误ImportError: libSM.so.6: cannot open shared object file: No such file or directoryImportError: libXrender.so.1: cannot open shared object file: No such file or directoryImportError: libXext.so.6: cannot open shared object file: No such file or directory# 解决方案:安装对应的软件依赖包apt-get install libsm6apt-get install libxrender1apt-get install libxext-dev五、通过anaconda来装###下载requirements.txt中的所有包pip install -r requirements.txt

/get-started/locally/# 但是当网速不好时,直接按照上面网站下载会特别慢,所以参考网址# /yuanzhoulvpi/article/details/86742729# 需要进行下面操作找到清华镜像源 https://mirrors.tuna./help/anaconda/中的pytorch中那行输入命令行中,表示将该源添加到下载寻找链接,然后再执行第一行网站中的命令,这样pytorch下载会快很多/get-started/previous-versions//p/3d56adca6829

八、安装python3.6及设置优先级

ubuntu的python3.5千万不能卸载,因为系统默认带的 Python2, Python3 已经和系统高度整合,所以不能随意卸载,否则可能导致系统或某些组件不可用,会导致重启不了等问题。

/eczhou/p/10245331.html

/yjlch1016/p/8641910.html

注:按Ctrl+D退出python命令行,或者输入exit()

# 1、terminal输入命令$ sudo add-apt-repository ppa:jonathonf/python-3.6# 2、按Enter确认,并输入:sudo apt-get updatesudo apt-get install python3.6# 3、按y确认# 4、调整Python3的优先级,使得3.6优先级较高sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2# 5、更改默认值,python默认为Python2,现在修改为Python3sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150# 6、更新pip$ sudo apt-get install python3-pip# 7、检查python3 -V# 8、如果要切换到Python2,执行:$ sudo update-alternatives --config python

九、为python3.6编译带cuda的opencv(通过编译选项,也可以为C、C++、Java编译,也可以编译cuda需知道算力)

1、当在conda环境下通过conda install opencv时,安装的又是阉割版的opencv,有的模块根本没法用.后来google后,了解到这是涉及到opencv作者的版权等种种问题,所以把其他的函数模块封装到了contrib中.这样就又带来另一个问题,在安装了阉割版opencv的基础上再安装contrib容易导致很复杂的问题.从源码编译opencv又会默认编译到系统环境下的python2.7中.这样在系统环境下工作和在conda环境下工作进行切换,又得通过nano ~/.bashrc更改环境变量,很麻烦.链接:/p/c42fc8702f2b2、pip可以安装的opencv-python安装并不依赖opencv,只是封装了opencv的Python API,一般情况下也够用。但是如果准备安装完整版本的opencv,这里比较建议将opencv-python卸载,以免之后产生一些不必要的报错3、之前已经安装了OpenCV3.4.3,但是这个版本好像和CUDA9.0不能兼容,导致cuda的模块无法编译,所以这里先把它卸载掉,然后安装opencv3.4.0

/arkenstone/p/6490017.html

/heiheiya/article/details/82590601

/beihaidao/p/6773595.html?utm_source=itdadao&utm_medium=referral

装之前必须看一下这个网址:/dulingwen/article/details/90607767

因为编译的时候选择编译了python接口,所以不需要pip3 install opencv-python或者在anaconda中安装opencv,只需要将~/opencv/build/lib/python3/cv2.cpython-37m-x86_64-linux-gnu.so复~/anaconda3/lib/python3.7/site-packages/文件夹中

如果出现no module named cv2,那就把cv2.so拷到anaconda/lib/python2.7/site-packages下

1 先用which python找到python的安装目录(每个人的不同,可以自行更改),只需要把opencv编译的cv2.so和原始的cv.py拷贝到python安装目录下的site-packages路径下面即可。

例如:

cp opencv_dir/build/lib/cv2.so ENV/lib/python2.7/site-packages/

cp opencv_dir/modules/python/src2/cv.py ENV/lib/python2.7/site-packages/

有的也是复制到这,因为python安装的位置不同

/usr/local/lib/python2.7/site-packages

2 测试python例子

在opencv_dir/samples/python2可以找到python的测试用例,同理可以运行那些绿色的可执行文件,例如:

./find_obj.py

安装Anaconda3后,如果使用python和python3,那么默认变为Anaconda3的python

这时如果想切换默认python为原始独立python,

1. sudo gedit ~/.bashrc

2. 添加 alias python3=’/usr/bin/python3.5‘

3. source ~/.bashrc

1、github网站上下载3.4.0版本的opencv和opencv_contrib包

最开始安装的3.4.3版本,但是不兼容。卸载已经安装的opencv参考:/heiheiya/article/details/82590601

/opencv

卸载装的不对的opencvsudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*cd /usr--------------------- 作者:haoqimao_hard 来源:CSDN 原文:/haoqimao_hard/article/details/82049565 版权声明:本文为博主原创文章,转载请附上博文链接!

点击releases,选择3.4.0版本的tar.gz,解压文件

# 1、下载,除了从github上直接下载,也可以git clone或者$ wget /opencv/opencv/archive/3.4.0.zip $ wget /opencv/opencv_contrib/archive/3.4.0.zip# 2、解压压缩包$ tar -zxvf opencv...tar.gz# 或者$ unzip opencv-3.4.0.zip# 将contrib解压到opencv文件夹下$ unzip opencv_contrib.3.4.0.zip -d opencv-3.4.0/

2、安装依赖

$ sudo apt-get install build-essential$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev qt5-default$ 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 libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev # 2、3和上面重复了$ sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包$ sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能$ sudo apt-get install ffmpeg

3、编译opencv并配置环境变量(配路径参考:/heiheiya/article/details/82497211)

# 1、进入opencv目录$ cd opencv-3.2.0$ mkdir build$ cd build# 2、编译选项的设置cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/neousys/Downloads/huanjing/opencv_contrib-3.4.0/modules -D CUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so -D CUDA_ARCH_BIN=7.5 -D CUDA_ARCH_PTX="" -D WITH_CUDA=ON -D WITH_TBB=ON -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF -D PYTHON3_EXCUTABLE=/usr/bin/python3 -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D WITH_NVCUVID=ON -D BUILD_opencv_cudacodec=OFF ..构建版本、安装目录、contrib文件目录(根据自己的位置修改)、CUDA库、CUDA算力(需要去/cuda-gpus 网站点击自己的显卡类型查看)-D INSTALL_C_EXAMPLES=OFF \(编译选项)-D INSTALL_PYTHON_EXAMPLES=ON \(编译选项)-D BUILD_EXAMPLES=ON \(编译选项)-D PYTHON3_EXCUTABLE=/usr/bin/python3 \(文件路径)-D PYTHON3_INCLUDE_DIR=/usr/include/python3.5m \(文件路径) ???-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \(文件路径)-D PYTHON_NUMPY_PATH=/usr/local/lib/python3.5/dist-packages ..(文件路径)cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D PYTHON3_EXECUTABLE=/usr/bin/python3 \-D PYTHON_INCLUDE_DIR=/usr/include/python3.5 \-D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include \-D INSTALL_PYTHON_EXAMPLES=ON \-D INSTALL_C_EXAMPLES=OFF \-D PYTHON_EXECUTABLE=/usr/lib/python3 \-D BUILD_EXAMPLES=ON ..--------------------- 作者:lch_vision 来源:CSDN 原文:/lch_vison/article/details/79112693 版权声明:本文为博主原创文章,转载请附上博文链接!下载不下来的两个文件可以参考/csdn330/article/details/86747867解决# 2、anaconda环境的编译可以参考 /arkenstone/p/6490017.html# 3、输出内核个数$ nproc # 4、make 需要注意,如果电脑是8核,最好不要make -j8,很容易超出内存编译出错,最好设置成make -j4或者make -j2。$ make -j4# 5、install$ sudo make install# 6、配置环境变量,添加路径$ sudo vim /etc/ld.so.conf.d/opencv.conf# 在末尾添加如下内容:/usr/local/lib# 保存之后执行:$ sudo ldconfig$ sudo vim /etc/bash.bashrc# 在末尾添加如下内容:PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexport PKG_CONFIG_PATH# source一下,使修改立即生效。$ source /etc/bash.bashrc# 7、查看安装结果$ pkg-config opencv --cflags --libs# 8、编译一个例子测试(若报错,参考/heiheiya/article/details/82590601):$ cd ../samples/cpp/example_cmake$ cmake .$ make

编译opencv过程中的问题一:

error:qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory

CMake Error at /usr/share/cmake-3.5/Modules/FindQt4.cmake:1326 (message):

Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x

Call Stack (most recent call first):

cmake/OpenCVFindLibsGUI.cmake:34 (find_package)

CMakeLists.txt:601 (include)

解决一:

sudo apt-get install aptitude

sudo aptitude install qt-sdk

问题二:原文:/weixin_37761614/article/details/81122402

error: ‘NppiGraphcutState’ has not been declared

解决方案:需要修改一处源码: 在graphcuts.cpp中将

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

问题:下载问题

/lijuanyujihui/article/details/84302837

问题三如下图:

无效的答案:主要是因为openCV 库有多个产生的问题,这里我预先安装了 anaconda ,由于默认把 anaconda 的路径已经加到了环境变量中,这里我们还是用系统自带的 python 2 里面的 opencv 比较不容易产生问题,参考:/article/33159.html

有效的答案:

/u011361393/article/details/83210824

/qq_35759574/article/details/83507434

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.1.0 -D OPENCV_EXTRA_MODULES_PATH=/home/y760/Downloads/opencv-4.1.0/opencv_contrib-4.1.0/modules -D CUDA_CUDA_LIBRARY=/usr/local/cuda/lib64/stubs/libcuda.so -D CUDA_ARCH_BIN=6.1 -D CUDA_ARCH_PTX="" -D WITH_CUDA=ON -D WITH_TBB=ON -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -D BUILD_opencv_python3=ON -D BUILD_opencv_python2=OFF -D PYTHON3_EXCUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.6m -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D WITH_NVCUVID=ON -D BUILD_opencv_cudacodec=OFF -D BUILD_TIFF=ON ..

修改完路径后从mkdir build开始重新编译

装完后测试参考:/cocoaqin/article/details/78163171

[ 43%] Building CXX object modules/reg/CMakeFiles/example_reg_map_test.dir/samples/map_test.cpp.o../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedTile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBATile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClose@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFRGBAImageOK@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用collect2: error: ld returned 1 exit statusmodules/phase_unwrapping/CMakeFiles/example_phase_unwrapping_unwrap.dir/build.make:101: recipe for target 'bin/example_phase_unwrapping_unwrap' failedmake[2]: *** [bin/example_phase_unwrapping_unwrap] Error 1CMakeFiles/Makefile2:5066: recipe for target 'modules/phase_unwrapping/CMakeFiles/example_phase_unwrapping_unwrap.dir/all' failedmake[1]: *** [modules/phase_unwrapping/CMakeFiles/example_phase_unwrapping_unwrap.dir/all] Error 2make[1]: *** 正在等待未完成的任务....[ 43%] Building CXX object modules/reg/CMakeFiles/opencv_perf_reg.dir/perf/perf_reg.cpp.o[ 43%] Linking CXX executable ../../bin/example_plot_plot_demo[ 43%] Linking CXX executable ../../bin/example_quality_brisque_trainer_livedb[ 43%] Built target example_plot_plot_demo[ 43%] Linking CXX executable ../../bin/example_quality_brisque_eval_tid../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedTile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBATile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClose@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFRGBAImageOK@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用collect2: error: ld returned 1 exit statusmodules/quality/CMakeFiles/example_quality_brisque_trainer_livedb.dir/build.make:102: recipe for target 'bin/example_quality_brisque_trainer_livedb' failedmake[2]: *** [bin/example_quality_brisque_trainer_livedb] Error 1CMakeFiles/Makefile2:5538: recipe for target 'modules/quality/CMakeFiles/example_quality_brisque_trainer_livedb.dir/all' failedmake[1]: *** [modules/quality/CMakeFiles/example_quality_brisque_trainer_livedb.dir/all] Error 2../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedTile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBATile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClose@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFRGBAImageOK@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用collect2: error: ld returned 1 exit statusmodules/quality/CMakeFiles/example_quality_brisque_eval_tid.dir/build.make:102: recipe for target 'bin/example_quality_brisque_eval_tid' failedmake[2]: *** [bin/example_quality_brisque_eval_tid] Error 1CMakeFiles/Makefile2:5657: recipe for target 'modules/quality/CMakeFiles/example_quality_brisque_eval_tid.dir/all' failedmake[1]: *** [modules/quality/CMakeFiles/example_quality_brisque_eval_tid.dir/all] Error 2[ 43%] Linking CXX executable ../../bin/example_reg_map_test[ 43%] Linking CXX executable ../../bin/opencv_test_reg../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedTile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBATile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClose@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFRGBAImageOK@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用collect2: error: ld returned 1 exit statusmodules/reg/CMakeFiles/example_reg_map_test.dir/build.make:101: recipe for target 'bin/example_reg_map_test' failedmake[2]: *** [bin/example_reg_map_test] Error 1CMakeFiles/Makefile2:6115: recipe for target 'modules/reg/CMakeFiles/example_reg_map_test.dir/all' failedmake[1]: *** [modules/reg/CMakeFiles/example_reg_map_test.dir/all] Error 2../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFIsTiled@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedStrip@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteScanline@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFGetField@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFScanlineSize@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFWriteDirectory@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetWarningHandler@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFSetErrorHandler@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadEncodedTile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBATile@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClose@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFRGBAImageOK@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFClientOpen@LIBTIFF_4.0’未定义的引用../../lib/libopencv_imgcodecs.so.4.1.0:对‘TIFFReadRGBAStrip@LIBTIFF_4.0’未定义的引用collect2: error: ld returned 1 exit statusmodules/reg/CMakeFiles/opencv_test_reg.dir/build.make:134: recipe for target 'bin/opencv_test_reg' failedmake[2]: *** [bin/opencv_test_reg] Error 1CMakeFiles/Makefile2:5882: recipe for target 'modules/reg/CMakeFiles/opencv_test_reg.dir/all' failedmake[1]: *** [modules/reg/CMakeFiles/opencv_test_reg.dir/all] Error 2[ 43%] Linking CXX executable ../../bin/opencv_perf_reg[ 43%] Built target opencv_perf_regMakefile:162: recipe for target 'all' failedmake: *** [all] Error 2

十、为python3.6安装cv2、pytorch、pytorch-division等

1、为python安装cv2:install opencv-python

编译的opencv version 可以与opencv-python的版本不同 ,当然也可以安装制定的版本

ubuntu下为python2和python3分别配置不同版本的opencv:

/lch_vison/article/details/79112693

# 好像第九步编译完opencv,不用install opencv-python就可以在python中import cv2$ pip3 install opencv-python# 安装制定版本的opencv-python,如果直接运行不可以就需要先下载whl了$ pip3 install opencv_python‑3.4.0‑cp36‑cp36m‑linux_amd64.whl# 上述命令有时会报错opencv_python‑3.2.0‑cp35‑cp35m‑win_amd64.whl,它的三个关键字是(‘cp35', ‘cp35m', ‘win_amd64'),但我电脑里的pip并没有与之完全对应的,因而出现了不supported的现象。解决方案当然就是更新pip了。使用更新指令python -m pip install --upgrade pip就可以解决问题了。

import cv2 img = cv2.imread("./cat.jpg") cv2.namedWindow("Image") cv2.imshow("Image", img) cv2.waitKey (0) cv2.destroyAllWindows()

(base) nihao@nihao-Nuvo-6108GC:~/Desktop$ python cat.py OpenCV(3.4.1) Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /opt/conda/conda-bld/opencv-suite_1527005194613/work/modules/highgui/src/window.cpp, line 618Traceback (most recent call last):File "cat.py", line 4, in <module>cv2.namedWindow("Image") cv2.error: OpenCV(3.4.1) /opt/conda/conda-bld/opencv-suite_1527005194613/work/modules/highgui/src/window.cpp:618: error: (-2) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvNamedWindow

但是上面的安装可能不能读取视频,需要下述指令

# 1、查看python3.6的路径有无编译好的cv2.so$ find /usr/local/lib/ -type f -name "cv2*.so"# 2、安装python版本的opencvhttps://www.lfd.uci.edu/~gohlke/pythonlibs/$ pip install opencv-python$ pip install opencv-contrib-python

2、安装pytorch、pytorch_division

安装pytorch也需要与安装的cuda想对应,直接去pytorch官网选择相应的版本会提示下载命令

运行pytorch可能出现的因为与cuda版本不适应的问题:

总结一下, 在CUDA10下, 要把DL_Image_Gen跑起来, 其实关键是要在pytorch官网上, 安装对应CUDA10的那个torch版本, 而cudnn.benchmark=True or False其实并不影响, 下面, 就是要试一下在CUDA9.0的环境下能不能跑起来

/get-started/previous-versions/

作者:conson_wm

链接:/p/88f883e9d43e

十一、安装ssh

这样可以通过ssh访问该电脑

sudo apt-get install openssh-server测试是否安装成功ps -s | grep ssh启动ssh:/etc/init.d/ssh start查看IPifconfig外部链接ssh parallels@10.211.55.5链接成功的效果:cd /ls

十二、 安装Pycharm

/qq_15192373/article/details/81091278

/qq_31531635/article/details/79963188

/zzc15806/article/details/81669591

1、下载

从官网(/pycharm/download/#section=linux)下载Community版 for Linux。并将下载好的文件copy到想安装的目录下。

2、安装

$ cd home/zhichao/pycharm$ tar -xfz pycharm-community-.1.4.tar.gz$ cd pycharm-community-.1.4/bin$ ./pycharm.sh出现Complete-Installation提示框,如图5,如果需要导入之前安装版本的配置的话,就选第一个,没有就选第二个。所以这里选第二个,直接点OK,如图5;如果需要保留原来版本的配置,则选择第一个,否则选择第二个,这里我选择第二个。 参考:/qq_15192373/article/details/81091278然后将说明翻到最下面,选择Accept。 安装完成后,会弹出PyCharm Initial Configuration框,PyCharm初始化配置。 Keymap scheme:键盘方案,选择Eclipse,意思是设置Pycharm为Eclipse快捷键 ide theme:皮肤主题,默认Intellij。可根据自己喜欢选其他的 Editor colors and fonts:编辑器的主题,可以点击下面的“Click to hide preview”进行预览,我这里选择的是 Darcula 然后下面的Create desktop entry 默认打勾就行了 最后点击OK,完成设置,这样pycharm就安装好了。然后就是配置pycharm 1. 点击File-Default Settings-Project Interpreter 2. 选择Project Interpreter最右边的设置,选择Add..,选择System interpreter,右边的路径选择anaconda3/bin/python3.6,选择OK 3. 选择绿标“+”号,搜索pytorch,然后出现pytorch-gpu,选择Install Package 4. 搜索opencv,然后出现opencv,选择Install Package 5. 搜索tensor flow,然后出现tensorflow-gpu,选择Install Package --------------------- 作者:丶Minskyli 来源:CSDN 原文:/qq_31531635/article/details/79963188 版权声明:本文为博主原创文章,转载请附上博文链接!

$ sudo pipuninstall tensorflow

$ sudo pip install tensorflow-gpu #for python2.7 GPU support

十三、Ubuntu连接网线却无法连接网络的问题

问题:右上角网络那里点开,显示的device not managed

解决:参考/s_e_itachi/article/details/79605679

# 1、打开终端$ sudo vi /etc/NetworkManager/NetworkManager.conf# 2、修改[ifupdown]中的managed的值,将false改为true# 3、保存关闭,重启电脑即可

十四、运行程序报的warning(未解决)

warning:

/home/neousys/.local/lib/python3.6/site-packages/sklearn/utils/linear_assignment_.py:21: DeprecationWarning: The linear_assignment_ module is deprecated in 0.21 and will be removed from 0.23. Use scipy.optimize.linear_sum_assignment instead.

DeprecationWarning)

/python/example/91391/sklearn.utils.linear_assignment_.linear_assignment

/doc/scipy-0.18.1/reference/generated/scipy.optimize.linear_sum_assignment.html

/python/example/97225/scipy.optimize.linear_sum_assignment

问题:

Scanning dependencies of target opencv_cudev

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libGL.so', needed by 'lib/libopencv_cudev.so.3.4.0'. Stop.

make[2]: *** Waiting for unfinished jobs....

/fb_941219/article/details/83549720

十五、编写C++项目的OPENCV程序

/DumpDoctorWang/article/details/82259357

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。