Ubuntu17.04下安装OpenCV3.2.0

来源:互联网 发布:bootstrap html5 cms 编辑:程序博客网 时间:2024/06/06 10:46

Ubuntu17.04下安装OpenCV3.2.0

安装官方给出的依赖包

1. sudo apt-get install build-essential

2. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

3. sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 处理图像所需的包

##报错 libtiffs-dev 而非libtiff-dev

无法定位软件包:libjasper-dev    解决办法只能删除这个包

修改为:sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev  libjpeg-dev libpng-dev libtiff5-dev  libdc1394-22-dev

 

4.  sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev

5. sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包

6. sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能

7. sudo apt-get install ffmpeg

 

下载opencv3.2.0

8. wget https://github.com/opencv/opencv/archive/3.2.0.zip # github上直接下载或者clone也可

Gitcolne代码:git clone git@github.com:opencv/opencv.git

9. wget https://github.com/opencv/opencv_contrib/archive/3.2.0.zip(这种方式下载是3.2版本)

下载完成后解压即可

Gitclone代码:git clone git@github.com:opencv/opencv_contrib.git

gitclone下载是最新版本,不一定是3.2

所以上面两种的下载方式一定要相同,否则可能会报出很多你意想不到的错误。

配置编译opencv (NVIDIA CUDA版本)

10. cmake -D CMAKE_BUILD_TYPE=RELEASE

 -D CMAKE_INSTALL_PREFIX=/usr 

-D INSTALL_PYTHON_EXAMPLES=ON 

-D INSTALL_C_EXAMPLES=OFF 

-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.2.0/modules 

-D PYTHON_EXCUTABLE=/usr/bin/python2.7 

-D WITH_TBB=ON 

-D WITH_V4L=ON 

-D WITH_QT=ON 

-D WITH_GTK=ON 

-D WITH_OPENGL=ON 

-DBUILD_EXAMPLES=ON ..

 

注意中间均是只有一个空格,最后有两个点。。

CMAKE_INSTALL_PREFIX:安装的python目录前缀,其实就是指定了python模块的安装路径:CMAKE_INSTALL_PREFIX/lib/python2.7/dist-packages。获取该路径的方式可以用python -c "import sys; print sys.prefix"

PYTHON_EXCUTABLE:指定python路径

OPENCV_EXTRA_MODULES_PATH: 指定opencv所需模块的路径,就是之前我们所说的contrib

报错:

CMake Error: Could not find CMAKE_ROOT !!!

CMake has most likely not been installed correctly. 

Modules directory not found in /usr/bin 

 

解决办法:网上搜的大部分是重装cmake

方式一:

    (1) 步 : sudo apt-get remove cmake cmake-data 卸载 cmake-data包的东西一起删掉

    (2):sudo -E add-apt-repository -y ppa:george-edison55/cmake-3.x

    (3)步:sudo -E apt-get update

(4)步:sudo apt-get install cmake

方式二:

aptitude purge cmake

aptitude install cmake

以上两种方式都不起作用

方法三:另外一种方式,加入环境变量

Sudo vim /etc/profile

export CMAKE_ROOT=/usr/local/bin  加入文件

Soruce /etc/profile  更新文件

也不成功;

最后我发现build文件夹下,有两个文件,make -D,这可能是之前错误生成的两个文件,于是我删除build文件下,重新进行了cmke 发现成功了,所以也不知是上面哪中方式起了作用。

但是又报了不一样的错误:

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.7/Modules/FindQt4.cmake:1318 (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)

原因:没有安装qmake

解决办法:

sudo apt-get install cmake qt5-default qtcreator

 

结果又发生错误:

CMake Error at /home/king/opencv-3.2.0/cmake/OpenCVDownload.cmake:56 (message):

  ERROR: ocv_download() unsupported arguments:

  PACKAGE;vgg_generated_48.i;HASH;e8d0dcd54d1bcfdc29203d011a797179;URL;https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/;DESTINATION_DIR;/home/king/opencv_contrib-3.2.0/modules/xfeatures2d/cmake/../src;DOWNLOAD_DIR;/home/king/opencv_contrib-3.2.0/modules/xfeatures2d/cmake/.download

Call Stack (most recent call first):

  /home/king/opencv_contrib-3.2.0/modules/xfeatures2d/cmake/download_vgg.cmake:13 (ocv_download)

  /home/king/opencv_contrib-3.2.0/modules/xfeatures2d/cmake/download_vgg.cmake:20 (vgg_download)

  /home/king/opencv_contrib-3.2.0/modules/xfeatures2d/CMakeLists.txt:4 (include)

 

 

解决办法:无

查了很多资料,用了很多办法都没有解决,

1.比如将报错的make文件中,fileName改为PACKAGE 

 对应博客: http://blog.csdn.net/qsy2000/article/details/70158537

2.比如,自己下载vgg_generated_48.i,保存在相应目录文件下。

对应博客地址:

http://blog.csdn.net/u013832707/article/details/73614798

https://www.cnblogs.com/zjutzz/p/6714490.html

 

问题解决:

这个问题真的整的我头大,最后实在没辙,(快要放弃,此时已经花费了很长时间了)我又想是不是我opencv_contrib的版本问题,因为我之前下载opencvopen_contrib采取了两种方式,前者是gitclone 后者是链接直接下载解压。不管有没有用这都是我最后的尝试了。然后我把build文件夹删除,opencv_contrib也删除,重新用gitclone的下载方式,然后我又重新进行build文件,因为之前看有人用release文件名而不用build文件名,我就安装步骤重新创建了releasebuild)文件夹,重新进行camke操作,这时候终于成功了!!!太不容易了。

总结:

就是遇到这种编译的问题,碰到问题采用任何一种方法解决后,都要重新进行编译,就是从头开始编译,不要懒省流程,这样反而会损失更多时间。

回顾:

执行测试时,我的版本是3.3.1 不是3.2 ,我可能明白了问题的关键所在,有可能我上面遇到的问题都是由opencvopencv_contrib 版本不一致引起的,下次一定要更仔细才行。

11. make -j4 #4是自己电脑核数

12. sudo make install  #安装

13. sudo /bin/bash -c 'echo "/usr/lib" > /etc/ld.so.conf.d/opencv.conf'

14. sudo ldconfig

 

完成安装并测试

安装完成以后,重启下机器。编译之后应该会在CMAKE_INSTALL_PREFIX/lib/python2.7/dist-packages/目录下找到cv2.so。打开python console,检测opencv版本python -c "import cv2; print cv2.__version__"。如果正确安装的话则会输出3.2.0

 

参考博客:https://www.cnblogs.com/arkenstone/p/6490017.html

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 痛经痛得厉害怎么办 脑子里老是幻想怎么办 绿松石盘玩变黑怎么办 绿松石发乌了怎么办 泡脚泡的脚发黑怎么办 想当兵有纹身怎么办 小孩挨打不会还手怎么办 孩子挨打不敢还手怎么办 武警森林改革新兵怎么办 森林武警新兵后来怎么办 部队训练打死人怎么办? 部队受伤退伍后怎么办 60岁失地养老怎么办 梦遗到被子上怎么办 血管打针打的硬怎么办 征兵彩超不过怎么办? 警卫局退役新兵怎么办 有轻微的肾结石怎么办 部队改制边防义务兵怎么办 在部队班长打人怎么办 肾结石在上盏怎么办 带新兵废嗓子怎么办 部队干部想复原怎么办 眼睛度数越来越高怎么办 驾照视力不够4.9怎么办 矫正视力达不到1.0怎么办 原材料复检批次不足怎么办 二年级视力4.5怎么办 儿童400度近视怎么办 境外汇款退回该怎么办 小米快件被退回怎么办 快递自动退回该怎么办 信用卡退回去了怎么办 车子排气污染不合格怎么办 被同学举报作弊怎么办 军检体重不合格怎么办 当兵体检不会蹲怎么办 蟑螂的卵鞘被捏暴了怎么办 睾丸被挤变形怎么办 口香糖粘鞋边上怎么办 鞋底上的口香糖怎么办