您的位置:首页 > 运维架构

Opencv嵌入式图像处理(二)Jeston Tk1 安装OpenCV

2016-06-28 10:40 393 查看
(博主原创,未经许可不得转载)

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安装包下载地址:链接:http://pan.baidu.com/s/1c2x8tFi 密码:1mi9

更新时间2016/6/16

第二种方式是下载好各个部分的安装包下载好以后直接在Jeston tk1上安装,此种方法的好处是不用使用Ubuntu X64的系统,可以减少使用Windows用户的使用负担。但此方法仅限于教程版本安装,每个版本的安装方法不同,不可兼容,阅读是请务必注意Cuda, Tegra4OpenCV, OpenCV相对应的版本号。安装步骤也请严格按照Cuda->Tegra4OpenCV->OpenCV的顺序,切忌颠倒。

1. 安装Cuda

首先确认你的Tk1的系统是R21.4,否则你可能需要刷机或是安装低版本的Cuda。确认方法:

0.1 进入超级用户模式

sudo -s


0.2 查看版本号

uname -m && cat /etc/*release




下载 cuda-repo-l4t-r21.3-6-5-prod_6.5-50_armhf.deb 安装包(注意版本号!!)

下载链接:http://pan.baidu.com/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.deb
sudo apt-get update
sudo apt-get install cuda-toolkit-6-5


可能遇到的问题(持续更新中)

没有启用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


4.添加环境变量

gedit ~/.bashrc


在记事本的最后添加:

# Add CUDA bin & library paths:
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH


点击保存退出(这一步一定要在超级用户下完成)

.
source ~/.bashrc


5.检查CUDA是否安装完成

nvcc -V


如果出现一下信息表示已经安装完成:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2014 NVIDIA Corporation
Built on Tue_Feb_17_22:53:16_CST_2015
Cuda compilation tools, release 6.5, V6.5.45
this message indicates you have successfully installed Cuda


第四行为安装的CUDA版本号。

2. 安装OpenCV

安装好了CUDA之后我们就可以安装OpenCV了,安装OpenCV主要分为安装Tegra4OpenCV和OpenCV源码两个部分。

1.安装一些必要的组件

1.1 基本的g++编译器和cmake
sudo 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


2.下载 libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.deb**(注意版本!!)**

下载地址:链接:http://pan.baidu.com/s/1miKY9nE 密码:ol4n

3.启用Universe源

sudo apt-add-repository universe
sudo apt-get update


4.安装Tegra4OpenCV

sudo dpkg -i libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.deb
sudo apt-get update
sudo apt-get install libopencv4tegra libopencv4tegra-dev


注意:此方法不适用于最新的libopencv4tegra-repo_2.4.12.3_armhf_l4t-r21.deb安装包,如果希望安装最新版本请使用Jetpack安装。

5.下载Opencv Linux 2.4.10

注意:此处如果用2.4.9编译会在83%出现编译错误,这是2.4.9自身的一个BUG,2.4.10已经修复。

下载链接:http://pan.baidu.com/s/1o8myB4Q 密码:glkr

读者也可自行前往OpenCV.org下载源码。

6.编译OpenCV

cd 到含有OpenCV的文件夹下:

unzip opencv-2.4.10.zip
cd  /**YOUR_PATH_OPENCV**/opencv-2.4.10/
mkdir build
cd build
cmake -DWITH_CUDA=ON -DCUDA_ARCH_BIN="3.2" -DCUDA_ARCH_PTX="" -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF ..


这一步通过以后会出现config OK 的标志,表示检查已经成功,可以编译了。

最后一句中 .. 的意思表示你的MakeFile文件在上一层文件夹,如果系统提示找不到MakeFile文件的话可以将它改为包含OpenCV Makefile的路径。

7.编译OpenCV

sudo make -j4 install




出现上图表示已经开始编译,编译过程大约需要20分钟。



可以看到OpenCV的GPU模块使用NVCC进行编译



core模块也使用NVCC进行了编译。



如果最后没有出现错误(如上图)表示OpenCV已经安装成功。

8.配置环境变量

echo "# Use OpenCV and other custom-built libraries." >> ~/.bashrc
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/" >> ~/.bashrc
source ~/.bashrc


这样OpenCV的配置就大功告成了,接下来我们就可以在Jeston tk1上使用基于GPU加速的OpenCV函数库了!

(经昨夜隔壁实验室宝宝的测试,此方法亦可用在大疆妙算Mainfold 图像处理单元上)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: