图文详解OpenCV在Jetson TK1上的安装和使用

本文介绍如何在Jetson TK1上安装并且使用OpenCV,并给出了示例,供大家参考学习。

1、Jetson TK1平台的OpenCV优化包下载

下载地址:https://developer.nvidia.com/linux-tegra-rel-19(需要注册才可以下载)

如下图所示

下载后拷贝到TK1平台中,如下图所示

2、使能通用存储库和更新apt-get

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

3、安装OpenCV优化包

sudo dpkg -i libopencv4tegra_2.4.8.2_armhf.deb
sudo dpkg -i libopencv4tegra-dev_2.4.8.2_armhf.deb

4、安装一些函数库

# Some general development libraries
sudo apt-get install build-essential make cmake cmake-curses-gui g++
# libav video input/output development libraries
sudo apt-get install libavformat-dev libavutil-dev libswscale-dev
# Video4Linux camera development libraries
sudo apt-get install libv4l-dev
# Eigen3 math development libraries
sudo apt-get install libeigen3-dev
# OpenGL development libraries (to allow creating graphical windows)
sudo apt-get install libglew1.6-dev
# GTK development libraries (to allow creating graphical windows)
sudo apt-get install libgtk2.0-dev

5、下载OpenCV源码

下载地址:http://opencv.org/(注意选择OpenCV for Linux/Mac)

或者在TK1平台上直接下载,方法是:

wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip

下载成功后见下图:

6、解压OpenCV源码,并进行配置

cd Downloads
unzip opencv-2.4.9.zip
mv opencv-2.4.9 ~
cd ~/opencv-2.4.9
mkdir build
cd build
cmake -DWITH_CUDA=ON -DCUDA_ARCH_BIN="3.2" -DCUDA_ARCH_PTX="" -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF

自己也可以根据需要进行配置(If you want to customize any more of the build settings such as whether to support Firewire cameras or Qt GUI, it is easiest to use the curses interactive version of CMake from here on:):

ccmake ..

7、 build & install OpenCV using a single command

Now you should be ready to build OpenCV and then install it. Unfortunately, OpenCV is currently experiencing a problem with CMake where installing the built libraries (that normally takes a few seconds) re-compiles the whole OpenCV (that normally takes close to an hour). So to save time, instead of running "make -j4 ; make install", we will build & install OpenCV using a single command.

To build & install the OpenCV library using all 4 Tegra CPU cores (takes around 40 minutes), including copying the OpenCV library to "/usr/local/include" and "/usr/local/lib":

sudo make -j4 install

8、make sure your system searches the "/usr/local/lib" folder for libraries

Finally, make sure your system searches the "/usr/local/lib" folder for libraries:

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

9、测试OpenCV并运行几个例子

# Make sure we have installed a C++ compiler.
sudo apt-get install build-essential g++

第一个示例:

# Test a simple OpenCV program. Creates a graphical window, hence you should plug a HDMI monitor in or use a remote viewer such as X Tunneling or VNC or TeamViewer on your desktop.
cd ~/opencv-2.4.9/samples/cpp
g++ edge.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -o edge
./edge

第二个示例:

# If you have a USB webcam plugged in to your board, then test one of the live camera programs.
g++ laplace.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_calib3d -lopencv_contrib -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videostab -o laplace
./laplace

(注意:此示例没有演示出来,待解决。。。,错误提示见上图。)

第三个示例:

# Test a GPU accelerated OpenCV sample.
cd ../gpu
g++ houghlines.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_calib3d -lopencv_contrib -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_video -lopencv_videostab -o houghlines
./houghlines ../cpp/logo_in_clutter.png
CPU与GPU的实验结果如下图:

最终的处理结果见下面的三个图:分别是原图、CPU处理后、GPU处理后的结果。

(If the houghlines GPU sample program worked then you have successfully installed OpenCV and its GPU module!)

10、更多参考学习资料

Using OpenCV with gcc and CMake

official opencv tutorials

OpenCV Reference Manual PDF file

NVIDIA Jetson TK1学习与开发(七):图文详解OpenCV在Jetson TK1上的安装和使用相关推荐

  1. NVIDIA Jetson TK1学习与开发(八):图文详解OpenGL在Jetson TK1上的安装和使用

    图文详解OpenGL在Jetson TK1上的安装和使用 1.入门介绍与资源推介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口规格的专业的图 ...

  2. 图文详解在VMware Workstation 14 虚拟机上安装Kali Linux黑客专用系统

    给大家分享一下VMware Workstation 14 虚拟机上安装Kali Linux黑客专用系统的教程,这样既不会影响到本机的工作学习,又能有效的学习Kali Linux黑客专用系统,两全其美, ...

  3. x264代码剖析(一):图文详解x264在Windows平台上的搭建

    x264代码剖析(一):图文详解x264在Windows平台上的搭建 X264源码下载地址:http://ftp.videolan.org/pub/videolan/x264/ 平台:win7 PC. ...

  4. storyboard(故事版)新手教程 图文详解 3.在故事版上使用scrollview

    继上一篇内容storyboard(故事版)新手教程 图文详解 2.为无约束的故事版添加约束 选中item2 此时上面什么都没有 添加一个scrollview 添加上下左右边距都为零 更新frame(不 ...

  5. 微信小程序云开发入门(图文详解)

    以下内容是我第一次微信小程序云开发的一次记录,从真正的0基础入门,到基本掌握一些内容. 其中遇到的一些问题,和根据网上 的一些资料,整理出来真正可用的,实测可行的源代码. 以下放出我的github源码 ...

  6. Qt开发,图文详解Hello World全过程

    2019独角兽企业重金招聘Python工程师标准>>> 这是系列文章中的一篇,阅读本文前请先阅读<Windows下Qt 5.2 for Android开发入门>,以便确保 ...

  7. 一起学习GC算法(图文详解)

    [辰兮要努力]:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端.后台.数据 ...

  8. 网格社区志愿者服务小程序开发方案图文详解

    志愿者服务小程序有三端:用户端+商家端.管理员端,总管理后台. 一 用户端:小程序 1.社区新闻 社区发布新闻,用户可以评论.点赞. 2.民情民意发布 投诉.建议发布,我要发布,可以发布图文信息. 3 ...

  9. 深度学习 - 30.GraphEmbedding DeepWalk 图文详解

    一.引言 上一篇文章讲到了如何使用 networkx 获取图 ,通过networkx 获得的图我们可以通过获取节点的邻居开始随机游走,从而获得游走序列,进而结合 word2vec 进行节点向量化操作. ...

最新文章

  1. CAS (3) —— Mac下配置CAS客户端经代理访问Tomcat CAS
  2. Apache Derby-02通过IJ简单操作DERBY
  3. Spring5的Web 组件
  4. python 复制文件夹校验_Python多任务复制文件夹
  5. java删除指定索引元素_将对象/元素添加到列表中的Java指定索引处
  6. OpenCV kmeans代码
  7. 让皮肤看起来更加水嫩光泽
  8. android美颜功能吗,Android美颜sdk接入之前需要知道这些知识吗
  9. python创建一个空的dataframe_python - 创建一个空的Pandas DataFrame,然后填充它?
  10. 在Ubuntu10.10下安装osd-lyrics
  11. linux 默认组,系统自动创建的默认安全组和自己创建的安全组的默认规则
  12. 【公告】4月15日CSDN下载频道和视频维护公告
  13. Java学习笔记之StringBuilder类
  14. 我为什么要立刻放弃React而使用Vue?
  15. Allegro阻抗分析指导书
  16. 初中英语语法(013)-动词
  17. JAVA虚拟机--JVM
  18. RHEL 7.8 64bit MYSQL linux-generic 8.0.20 初始化安装
  19. 优秀的web前端工程师需要哪些软技能
  20. 西门子博图指令(计数器操作)

热门文章

  1. Redis分布式锁的原理、作用及实现(简单易懂)
  2. 8086微处理器结构
  3. 开发板NFS挂载方案
  4. std::move的理解和使用
  5. Python字典的key都可以是什么
  6. ReactNative打Release生产包报错error: failed parsing overlays
  7. setMnemonic热键设置
  8. 绘声绘影快而省时的方法:使用小日本输出
  9. oracle decode函数什么意思,oracle decode函数的用法
  10. 写学校相关的申报书经验