ubuntu14.04+cuda7.0+opencv2.4.9
来源:互联网 发布:淘宝网页模板免费下载 编辑:程序博客网 时间:2024/05/21 18:48
安装了ubuntu14.04
分辨率有问题,于是安装英伟达显卡驱动,一个比较简单地方法就是安装Cuda,这里安装的是Cuda7.0版本。
原文地址:http://blog.csdn.net/altenli/article/details/44199539
若需要cuDNN加速的童鞋,可以参考上面的网址安装CUDA6.5
本步骤能实现用Intel核芯显卡来进行显示, 用NVIDIA GPU进行计算。
1. 安装开发所需的依赖包安装开发所需要的一些基本包
sudo apt-get install build-essential # basic requirementsudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler#required by caffe2. 安装CUDA及驱动2.1 准备工作在关闭桌面管理 lightdm 的情况下安装驱动似乎可以实现Intel 核芯显卡 来显示 + NVIDIA 显卡来计算。具体步骤如下:
进入Ubuntu, 按 ctrl+alt+F1 进入tty, 登录tty后输入如下命令
sudo service lightdm stop该命令会关闭lightdm。如果你使用 gdm或者其他的desktop manager, 请在安装NVIDIA驱动前关闭他。
2.2 (貌似可以略过)安装NVIDIA显卡驱动输入下列命令添加驱动源
sudo add-apt-repository ppa:xorg-edgers/ppasudo apt-get update安装346版驱动
sudo apt安装完成后, 最好把下列包也一并安装上 (否则以后可能会缺少文件)
sudo apt安装完成后 reboot.
2.3 下载deb包及安装CUDA使用deb包安装CUDA及驱动能省去很多麻烦(参见CUDA Starting Guide)。下载对应于你系统的CUDA deb包,
我下载的是7.0版的,需要先注册才能获得RC版下载权限。
我下载的是deb包,
先双击后在Ubuntu Software Center里点install。
或用下列命令添加软件源
然后在终端中用下列命令安装CUDA
sudo apt-get install cuda安装完成后重启电脑.
sudo reboot2.4 安装cuDNN由于还没有出配合CUDA7.0的cuDNN下载,所以暂时不安装cuDNN,以免发生不知名错误。
2.5 设置环境变量安装完成后需要在/etc/profile中添加环境变量, 在文件最后添加:
export PATH保存后, 执行下列命令, 使环境变量立即生效
source /etc/profile同时需要添加lib库路径: 在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下
/usr/local/cuda/lib64保存后,执行下列命令使之立刻生效
sudo ldconfig安装完CUDA7.0之后安装opcv2.4.9
连接地址:http://my.oschina.net/u/1757926/blog/293976
1. 先从sourceforge上下载OpenCV的源码
http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip
2. 解压到任意目录
unzip opencv-2.4.9.zip
3. 进入源码目录,创建release目录
cd opencv-2.4.9
mkdir release
4. 可以看到在OpenCV目录下,有个CMakeLists.txt文件,需要事先安装一些软件
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
5. 进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下
cd release
6. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
7. 安装
sudo make install
8. 测试,在某个目录下建立一个test.cpp文件
#include <cv.h>
#include <highgui.h>
using namespace cv;
int main(int argc, char* argv[])
{
Mat image;
image = imread(argv[1], 1);
if (argc != 2 || !image.data)
{
printf("No image data\n");
return -1;
}
namedWindow("Display Image", CV_WINDOW_AUTOSIZE);
imshow("Display Image", image);
waitKey(0);
return 0;
}
9. 写一个cmake的makefile,也叫CMakeLists.txt
project(test)
find_package(OpenCV REQUIRED)
add_executable(test test)
target_link_libraries(test ${OpenCV_LIBS})
cmake_minimum_required(VERSION 2.8)
10. 编译+运行
cmake .
make
得到可执行文件test
11. 随便弄个jpg图片做个测试,注意要和上面那个可执行文件放在同一目录下面,我这里名字取的是test.jpg。
12. ./test test.jpg 如果能看到照片,那就表示成功了。
make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/cuda_compile_generated_matrix_operations.cu.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2
解决方法:
(1)依赖包
只要一安装完Ubuntu12.04LTS,就可以直接运行以下命令,不用多管了就。下载500多M,需要1G的磁盘。
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libxi-dev libxmu-dev freeglut3-dev
note that
(1)libtiff4-dev should be changed into libtiff5-dev in Ubuntu 15.0
(2) if build with CUDA, then we should add -D CUDA_ARCH_BIN="5.0" where 5.0 is the GPU capability, MUST add 5.0, NOT 5
(3) if build with CUDA, then "opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed in an explicit specialization" error will occur, so we need to replace the file with another one which is in http://blog.
(2)解压OpenCV2.4.2
生成一个文件叫做OpenCV-2.4.2
tar -xjvf OpenCV-2.4.2.tar.bz2
(3)进入OpenCV-2.4.2文件夹
新建文件夹 build---->进入build文件夹,运行下面的"run:"提示的命令 ---->make ----> sudo make install
run:
cmake -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_OPENGL=ON -D WITH_QT=ON -D WITH_CUDA=ON -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local-D CUDA_ARCH_BIN="5.0" ..
note that we can declare "-D WITH_OPENGL=ON -D WITH_QT=ON -D WITH_CUDA=ON ", but actually wedon't need to declare it for CUDA or "-D BUILD_JAVA=ON" for java_bindings , as long as there exists CUDA and JAVA+ANT on your mahine, it will automatically build CUDA and JAVA Bindings. How to build up CUDA and JAVA OpenCV, look my blogs.
把cuda禁掉,后面标红的删掉,前面cuda=on改为off
(4)添加库的路径
sudo gedit /etc/ld.so.conf.d/opencv.conf (这文件在运行gedit之前是没有的) ----〉添加内容 /usr/local/lib到此文件 ---->在终端输入命令sudo ldconfig
注意:sudo make install 之后原来的那个OpenCV-2.4.2 文件应该没用处了,真正的.h文件在/usr/local/include, .so文件在/usr/local/lib
(5)设置环境变量
sudo gedit /etc/bash.bashrc 在文件最后加入下面一行并保存:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
注意:为什么要求(4)和(5)?因为是为了让g++/gcc编译器能找到.so和.h文件。怎样找到?在/usr/loca/lib/pkgconfig文件夹里面有一个文件叫做opencv.pv,里面专门说明了这个.h和.so文件在哪里。
(6)运行
(6-1)重启Ubuntu或重新登录账户,使得OpenCV安装生效。在一个文件夹,随便哪个文件夹下面touch 一个.cpp文件,用来显示图片。
1 #include <highgui.h> 2 #include <iostream> 3 using namespace std; 4 int main(int argc,char **argv) 5 { 6 IplImage* image = cvLoadImage(argv[1]); 7 if(argc < 2 || image==NULL) 8 { 9 cout<<"No image data\n"; 10 return -1; 11 }12 cvNamedWindow("Display Image",CV_WINDOW_AUTOSIZE); 13 cvShowImage("Display Image",image);14 cvWaitKey(0);15 cvReleaseImage(&image);16 cvDestroyWindow("Display Image");17 return 0; 18 }
假设此文件叫做showimg.cpp,编译加上运行的话,我们应该这样做:
g++ -o showimgexe showimg.cpp `pkg-config opencv --cflags --libs`
这样就会生成一个可运行文件。然后测试:这里后面的是图像, 就是argv[1],都懂得,不用多说。
./showimgexe demo.jps
虽然不多说,但是还是要说下这个pkg-config, 这个命令需要跟一个.pc文件。上面的opencv是/usr/lib/pkgconfig文件夹下面的文件叫做哦opencv.pc。(note that if we install opencv with CUDA, and want also run GPU stuff code, we need add "-L/usr/local/cuda/lib64" in --LIBs flags)如果这个文件叫chase.pc那么应该改为pkg-config chase --cflags --libs。 这里的--cflags指明编译过程需要的头文件去哪里找, --libs指明连接过程中so文件去哪里找。那去哪里找?看文件opencv.pc本身就知道了。还有这个命令之外的引号的问题:不是"",不是'',是``!!!!尼玛是不是很坑爹。``值的是ESC键下面那个键,就在Tab上面。
还有一点想说的是:一旦这个showimgexe生成,随便在那个文件夹下都可以运行了。当然必须是在自己的主机上,其他机器根本没安装opencv你想运行那是不可能的。
注:
我们可以将这个showimgexe文件放在一个$PATH变量文件夹下面。
比如我自己增加一个PATH变量:额,PATH变量就是文件夹嘛哎呀。
vim ~/.bashrc
然后在最后加入export PATH=/home/chase/ticker/bin:PATH,重新登陆输入echo
(6-2)Codelocks链接OpenCV: http://blog.csdn.net/cenziboy/article/details/7570139
(7)卸载 OpenCV
into the build file and run: sudo make uninstall
- ubuntu14.04+cuda7.0+opencv2.4.9
- ubuntu14.04下的caffe环境配置(ubuntu14.04+Opencv2.4.9+cuda7.0)
- linux(ubuntu14.04)+cuda7.5+caffe+openCV2.4.9+matlab+cudnn新手配置
- Ubuntu14.04+cuda7.5+caffe+OpenCV2.4.9+cudnn7.5+Anaconda2安装配置
- Ubuntu14.04安装caffe+cuda7.5+OpenCV2.4.9+Matlab2014A(显卡K80×2)
- Ubuntu14.04+cuda7.5+opencv2.4.13+caffe+faster-rcnn 配置
- ubuntu14.04安装cuda7.0
- ubuntu14.04 install cuda7.0
- ubuntu14.04+cuda7.0环境变量配置
- 64位ubuntu14.04安装cuda7.0
- Ubuntu14.04 CUDA7安装
- Darknet(YOLO)安装与测试笔记(T440p+Ubuntu14.04+OpenCV2.4.10+CUDA7.5)
- Ubuntu14.04下配置Caffe+OpenCV2.4.10+CUDA7.5+cuDNN5.1.10
- cuda7.5配置opencv2.4.9
- ubuntu14.04 安装openCV2.4.9
- ubuntu14.04 + opencv2.4.9配置
- ubuntu14.04安装opencv2.4.9
- ubuntu14.04编译opencv2.4.9
- hiho一下 第五十五周 连通性·四(无向图点双连通分量)
- 有道小工具
- MFC第一个窗口,写,右键时间,左键坐标
- 算法(第四版)学习笔记之java实现归并排序
- 百度云消息推送机制在即时通信聊天界面的信息处理,技巧篇。
- ubuntu14.04+cuda7.0+opencv2.4.9
- gtk拖拽面板
- Xcode自定义alertview
- C6678中的PCIE相关总结(1)
- jsp 页面添加视频并显示播放时间
- 打开设备管理器的快捷方式
- 【Java】将构造函数声明为私有有什么作用?
- CentOS下用于查看系统当前登录用户信息的4种方法
- Java基础学习总结——Java对象的序列化和反序列化