ubuntu 安装opencv3

来源:互联网 发布:爱淘宝 首页 红包 编辑:程序博客网 时间:2024/05/21 10:15

1)配置:http://blog.csdn.net/xuezhisdc/article/details/48691797


测试opencv安装是否成功:参考:http://www.tuicool.com/articles/nYJrYra

如果上面的文章不好用的话,用下面的

http://blog.csdn.net/zhuiqiuk/article/details/52934440

主要就是在make的时候,有个文件因为被墙了而导致下载不下来,从而报错


配置anaconda环境下的opencv的参考链接:

http://www.cnblogs.com/xialuobo/p/5973876.html


----------------------------------------------------------------------------------------------------------------------

在ubuntu 16.04(安装cuda8.0之后会报错)

解决办法:http://answers.opencv.org/question/114759/ubuntu-build-fails-with-memcpy-not-declared-in-stringh/


然后参考http://blog.csdn.net/xuezhisdc/article/details/48691797

这个文章中的对于cuda的报错问题


-----------------------------------------------------------------------------------------------------------------------


---------------------------------又是cuda的锅-----------------------------------------------

问题描述:

Unsupported gpu architecture 'compute_11'解决方法



解决办法:http://blog.csdn.net/sysuwuhongpeng/article/details/45485719

需要在cmake的时候加入如下命令

cmake -D CMAKE_BUILD_TYPE=RELEASE-D CMAKE_INSTALL_PREFIX=/usr/local-D CUDA_GENERATION=Kepler..



#sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -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 CUDA_GENERATION=Kepler ..

#在安装完cuda7.5之后会报错,通过这个cmake来解决问题,那么上面的那个cmake就不用了,就用这个
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..

-----------------------------------------------------------------------------------------

2)遇到的问题:主要是由于ubuntu默认是java1.7,而我之前安装了java1.8,系统没有识别,从而进行make的时候仍然默认1.7版本的环境,解决办法:

http://www.cnblogs.com/dingyingsi/archive/2013/02/26/2933536.html


Simple replace in opencv/cmake/OpencvDetectCuda.cmake

set(NVCC_FLAGS_EXTRA ${NVCC_FLAGS_EXTRA} -gencode arch=compute_${CMAKE_MATCH_2},code=sm_${CMAKE_MATCH_1})to

set(NVCC_FLAGS_EXTRA ${NVCC_FLAGS_EXTRA} -D_FORCE_INLINES -gencode arch=compute_${CMAKE_MATCH_2},code=sm_${CMAKE_MATCH_1})it's work for me!






第四步:配置默认JDK 由于ubuntu中可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300 sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 300 sudo update-alternatives --config java
如果系统没有安装其它jdk,则提示: 链接组 java 中只有一个候选项:/usr/lib/jvm/java-7-sun/bin/java 无需配置。 如果系统中安装了openJDK和jdk6,系统会列出各种JDK版本,可能如下所示: 有 3 个候选项可用于替换 java (提供 /usr/bin/java)。  
选择 路径  优先级  状态 ------------------------------------------------------------ * 0           
/usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      自动模式   1           
/usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      手动模式   2           
/usr/lib/jvm/java-6-sun/jre/bin/java       63        手动模式   3           
/usr/lib/jvm/java-7-sun/bin/java           300       手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:


1)sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/bin
/java 300
2)sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/bin
/javac 300
3)sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java/bin
/jar 300
4)sudo update-alternatives --config java   进行对于Java环境变量的配置,利用所需要的序号,*表示当前选项,我配置成为了2号

3)测试:http://blog.csdn.net/dreamsky168/article/details/49928293


4)pycharm 对于opencv进行软链接

主要参考如下链接:https://segmentfault.com/a/1190000004649532


做软连接的目的是添加提示到pycharm当中


cd /usr/local/lib/python2.7/site-packages
ln -s /usr/local/lib/python2.7/dist-packages/cv.py cv.py

ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so

5)查看安装opencv的版本以及查看cv2.so以及cv.so

查看已经安装Opencv的版本:

命令:

pkg-config --modversion opencv


查找cv2.so的路径:(这个涉及到以后做opencv与编译器,eclipse以及pycharm(anaconda版的连接))


因此这两个文件的路径是:/usr/local/lib/python2.7/dist-packages


此时参考这个链接:http://www.cnblogs.com/xialuobo/p/5973876.html

将Opencv已经安装的cv2.so复制到anaconda框架上

----------------------------------------------------------------------------------------------------------------------------

Python

编译安装好后的cv2.so,也就是python调用openc所需要的库,放在

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

这个目录下,我们可以将这个目录添加到环境变量

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

这样便可以在python中 import cv2

如果用第三方python,则还需要将 /usr/local/lib/python2.7/site-packages 目录下的 cv2.so 复制到 第三方的python 
/usr/local/lib/python2.7/site-packages 目录下,这里以 anaconda为例:

sudo cp /usr/local/lib/python2.7/site-packages/cv2.so ~/anaconda2/lib/python2.7/site-packages

sudo cp /usr/local/lib/python2,7/site-packages/cv.py ~/anaconda2/lib/python2.7/site-packages



然后还没完事,应该再将这两个文件放到放到~/anaconda2/lib/python2.7/distutils当中


用cp命令




----------------------------------------------------------------------------------------------------------------------------


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

ln -s /usr/local/lib/python2.7/dist-packages/cv.py cv.py

ln -s /usr/local/lib/python2.7/dist-packages/cv2.so cv2.so


------------------------------利用c语言测试opencv3是否安装成功--------------------------------------

a) 创建工作目录

mkdir ~/opencv-lenacd ~/opencv-lenagedit DisplayImage.cpp

b) 编辑如下代码

#include <stdio.h>#include <opencv2/opencv.hpp>using namespace cv;int main(int argc, char** argv ){if ( argc != 2 ){printf("usage: DisplayImage.out <Image_Path>\n");return -1;}Mat image;image = imread( argv[1], 1 );if ( !image.data ){printf("No image data \n");return -1;}namedWindow("Display Image", WINDOW_AUTOSIZE );imshow("Display Image", image);waitKey(0);return 0;}

c) 创建CMake编译文件

gedit CMakeLists.txt

写入如下内容

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

d) 编译

cd ~/opencv-lenacmake .make

e) 执行

此时opencv-lena文件夹中已经产生了可执行文件DisplayImage,下载lena.jpg放在opencv-lena下,运行

./DisplayImage lena.jpg

f) 结果

产生lena的图片


-----------------------------------利用python验证opencv3是否安装成功----------------------------


# -*- coding: utf-8 -*-__author__ = 'xuy'import  cv2# img=cv2.cv2.img = cv2.imread("lena.jpg")# cv2.cv2.namedWindow()# cv2.namedWindow("Image")cv2.imshow("Image", img)cv2.waitKey (0)cv2.destroyAllWindows()


-----------------------------------卸载opencv3------------------


主要参考这个链接:http://blog.csdn.net/adong76/article/details/40018407


卸载方法 OpenCV卸载

http://stackoverflow.com/questions/13134151/how-to-uninstall-opencv-in-ubuntu

You can also uninstall by going to the "build" folder directory of opencv from terminal, and execute the following
make uninstall
cd ..
sudo rm -r build


sudo 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*

install reference
http://www.samontab.com/web/2014/06/installing-opencv-2-4-9-in-ubuntu-14-04-lts/



原创粉丝点击