转载自:/sx1503198/article/details/51774142
Tegra 平台为OpenCV提供了GPU加速的功能。除了opencv中的GPU模块外,例如核心的Core模块等一系列OpenCV中的常用模块都可以使用GPU加速。但是GPU加速的前提是你已经安装好Cuda并且用nvcc device 编译OpenCV。
在Jetson配置OpenCV和Cuda有两种方法,一种是使用官方的Jetpack安装方法,可以安装最新的Tegra4OpenCV。这需要你有一台Ubuntu 14.04 LST X64系统的电脑,并使得Jetson Tk1进入Recovery模式,此方法在后续教程中再涉及。
最新Jetpcak安装包下载地址:链接:/s/1c2x8tFi密码:1mi9
更新时间/6/16
第二种方式是下载好各个部分的安装包下载好以后直接在Jeston tk1上安装,此种方法的好处是不用使用Ubuntu X64的系统,可以减少使用Windows用户的使用负担。但此方法仅限于教程版本安装,每个版本的安装方法不同,不可兼容,阅读是请务必注意Cuda, Tegra4OpenCV, OpenCV相对应的版本号。安装步骤也请严格按照Cuda->Tegra4OpenCV->OpenCV的顺序,切忌颠倒。
1. 安装Cuda
首先确认你的Tk1的系统是R21.4,否则你可能需要刷机或是安装低版本的Cuda。确认方法:
0.1 进入超级用户模式
sudo -s
11
0.2 查看版本号
uname -m && cat /etc/*release
11
下载 cuda-repo-l4t-r21.3-6-5-prod_6.5-50_armhf.deb 安装包(注意版本号!!)
下载链接:/s/1qXVzAR6密码:r17y
(r19.8版本以后,Nvidia官网不再提供单独的cuda,Tegra4opencv安装包,此安装包为JetPackTK1-1.2-cuda6.5-Linux-x64.run中析出的版本,以方便大家安装)
安装Cuda
cd 到你保存安装包的路径下
dpkg -i cuda-repo-l4t-r21.3-6-5-local_6.5-50_armhf.debsudo apt-get updatesudo apt-get install cuda-toolkit-6-5
123123
可能遇到的问题(持续更新中)
没有启用Universe的源,会提示无cuda-toolket-6-5 解决方法:sudo apt-add-repository universe使用了非官方的Ubuntu source,有些国内的服务器虽然速度快,但是基本不更新,所有建议不要修改Source.list里的内容没有更新源:sudo apt-get update
3.添加用户组
sudo usermod -a -G video $USER
11
4.添加环境变量
gedit ~/.bashrc
11
在记事本的最后添加:
# Add CUDA bin & library paths:export PATH=/usr/local/cuda/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH
123123
点击保存退出(这一步一定要在超级用户下完成)
.source ~/.bashrc
5.检查CUDA是否安装完成
nvcc -V
11
如果出现一下信息表示已经安装完成:
nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) - NVIDIA CorporationBuilt on Tue_Feb_17_22:53:16_CST_Cuda compilation tools, release 6.5, V6.5.45this message indicates you have successfully installed Cuda
1234512345
第四行为安装的CUDA版本号。
2. 安装OpenCV
安装好了CUDA之后我们就可以安装OpenCV了,安装OpenCV主要分为安装Tegra4OpenCV和OpenCV源码两个部分。
1.安装一些必要的组件
1.1 基本的g++编译器和cmakesudo apt-get install build-essential make cmake cmake-curses-gui g++1.2 输入输出库sudo apt-get install libavformat-dev libavutil-dev libswscale-dev 1.3 Video4Linux摄像头模块sudo apt-get install libv4l-dev 1.4 Eigen3模块sudo apt-get install libeigen3-dev 1.5 OpenGL开发模块(并不是OpenGL全体)sudo apt-get install libglew1.6-dev 1.6 GTK库函数 sudo apt-get install libgtk2.0-dev
123456789101112123456789101112
2.下载 libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.deb**(注意版本!!)**
下载地址:链接:/s/1miKY9nE密码:ol4n
3.启用Universe源
sudo apt-add-repository universesudo apt-get update
1212
4.安装Tegra4OpenCV
sudo dpkg -i libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.debsudo apt-get updatesudo apt-get install libopencv4tegra libopencv4tegra-dev
123123
注意:此方法不适用于最新的libopencv4tegra-repo_2.4.12.3_armhf_l4t-r21.deb安装包,如果希望安装最新版本请使用Jetpack安装。
5.下载Opencvlinux2.4.10
注意:此处如果用2.4.9编译会在83%出现编译错误,这是2.4.9自身的一个BUG,2.4.10已经修复。
下载链接:/s/1o8myB4Q密码:glkr
读者也可自行前往下载源码。
6.编译OpenCV
cd 到含有OpenCV的文件夹下:
unzip opencv-2.4.10.zipcd /**YOUR_PATH_OPENCV**/opencv-2.4.10/mkdir buildcd buildcmake -DWITH_CUDA=ON -DCUDA_ARCH_BIN="3.2" -DCUDA_ARCH_PTX="" -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF ..
1234512345
这一步通过以后会出现config OK 的标志,表示检查已经成功,可以编译了。
最后一句中 .. 的意思表示你的MakeFile文件在上一层文件夹,如果系统提示找不到MakeFile文件的话可以将它改为包含OpenCV Makefile的路径。
7.编译OpenCV
sudo make -j4 install
11
出现上图表示已经开始编译,编译过程大约需要20分钟。
可以看到OpenCV的GPU模块使用NVCC进行编译
core模块也使用NVCC进行了编译。
如果最后没有出现错误(如上图)表示OpenCV已经安装成功。
8.配置环境变量
echo "# Use OpenCV and other custom-built libraries." >> ~/.bashrcecho "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/" >> ~/.bashrcsource ~/.bashrc
123123
这样OpenCV的配置就大功告成了,接下来我们就可以在Jeston tk1上使用基于GPU加速的OpenCV函数库了!
(经昨夜隔壁实验室宝宝的测试,此方法亦可用在大疆妙算Mainfold 图像处理单元上)
如果觉得《Opencv嵌入式图像处理(二)Jeston Tk1 安装OpenCV》对你有帮助,请点赞、收藏,并留下你的观点哦!