ubuntu14.04+cuda7.0+opencv2.4.9
安装了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 requirement sudo 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 显卡来计算。具体步骤如下:
- 首先在BIOS设置里选择用Intel显卡来显示或作为主要显示设备
进入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。
或用下列命令添加软件源sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb sudo apt-get update
然后在终端中用下列命令安装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.csdn.net/altenli/article/details/44199539
(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,重新登陆输入echoPATH,查看是否成功。
(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+CUDA7.5+cuDNN+caffe的超详细完整配置
版权声明:文章原创,转载请注明出处,多谢! 声明 本文是关于ubuntu14.04+CUDA7.5+cuDNN+caffe的超详细完整配置过程的说明. 小菜是刚接触深度学习领域的小白,在配置caffe ...
- 【非原创】Ubuntu14.04+cuda6.5+opencv2.4.9+caffe配置记录
Ubuntu14.04+cuda6.5+opencv2.4.9+caffe配置记录 从4月5日差不多开始安装,到今天4月15日,快两个星期了.如果加上之前自己看点Linux的时间,这折腾的有两个星期( ...
- caffe linux 教程,Caffe 深度学习入门教程 - 安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN_Linux教程_Linux公社-Linux系统门户网站...
安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN 一.版本 Linux系统:Ubuntu 14.04 (64位) 显卡:Nvidia K20c cuda: cuda_7.5.18 ...
- Ubuntu14.04+cuda6.5+opencv2.4.9+caffe配置记录
从4月5日差不多开始安装,到今天4月15日,快两个星期了.如果加上之前自己看点Linux的时间,这折腾的有两个星期(半个月了).哎,快装好了,我也快崩溃了,真的想放弃的时候,突然找到个博客,好像照它的 ...
- ubuntu14.04+cuda8.0+cudnn5.1+torch7配置整理
实际上教程网上有很多,这里说下自己遇到的几个坑. 很少有人提到(包括torch7官方)CUDA与torch的安装顺序,我这里测试发现先安装torch再cuda,总是各种问题,所以,先cuda,cudn ...
- ubuntu14.04+cuda6.5+opencv2.4.9+cuda-convnet2配置
第一次这么正式的写技术博客,一是锻炼下写总结的能力,二来也算是由于自己看技术贴多却从来没有贡献过自己的感到羞愧. 1.准备 一.首先,运行环境为ubuntu14.04,因此本文都假设大家已经装好了ub ...
- Caffe学习系列(1):安装配置ubuntu14.04+cuda7.5+caffe+cudnn
一.版本 linux系统:Ubuntu 14.04 (64位) 显卡:Nvidia K20c cuda: cuda_7.5.18_linux.run cudnn: cudnn-7.0-linux-x6 ...
- ubuntu14.04中安装opencv2.4.13
1. 先下载OpenCV的源码 2. 解压到任意目录 unzip opencv-2.4.13.zip 3. 进入源码目录,创建release目录 cd opencv-2.4.13 mkdir rele ...
- Ubuntu14.04+CUDA8.0+TitanX+caffe配置教程
因之前已安装好tensorflow的GPU版,现因需要再安装caffe. 系统信息: Ubuntu 14.04 TiTanX 已安装的有: Cuda8.0 ( Linux x86_64 Unumtu ...
最新文章
- python 循环批量生成变量
- 快速建立自己的个人网站!五款建站程序
- yii2事务运用举例
- Websocket判断逻辑Bug
- linux命令中选项分为,Linux 考试试题
- 知乎热榜:如何看待华为天才少年年薪201万?
- 在Recyclerview使用GlideAPP加载大量图片导致内存溢出(oom)
- OpenGL立方体面的显示问题?
- python学习笔记(五):装饰器、生成器、内置函数、json
- 雕刻在LINUX内核中的LINUS故事
- 【Tomcat优化篇】如何让你的Tomcat性能更加优越
- pdf文件如何生成目录 wps_利用wps创建有目录的PDF/word
- ai面试的优缺点_AI面试是什么?有哪些特点呢?
- 5G无线采集网关 poe供电
- 信息收集(OSINT)解释与实践-初
- html 防网页假死,html5 WebWorkers 防止浏览器假死
- 2019年厦门国际银行“数创金融杯”数据建模大赛总结
- 使用c语言实现复数运算的程序,用C语言实现的复数运算程序设计
- 如何关闭计算机的wps云文档,怎么把wps云文档关掉
- Proxifier设置代理上网详细操作
热门文章
- spd耗材管理流程图_医用耗材SPD管理模式详解
- 电容的电抗|X|,总阻抗|Z|和等效电阻R
- 巨量jsvmp,扣逻辑分析
- 深入剖析Kubernetes:容器编排与 Kubernetes 核心特性剖析
- React Native常用第三方组件汇总【建议收藏】
- 洛谷P3386-二分图最大匹配
- Hadoop —— 漫画图解hdfs读、写、容错、副本机制
- 自动驾驶系列(二) - 路径规划五种算法简述及对比
- oracle中创建事件的作用,Oracle常见等待事件说明(二)-direct path read/write
- java 访问网址并将返回结果的json数组转换为List<String>