热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2.JetsonTX2--python3下编译安装opencv3.4

https:cloud.tencent.comdeveloperarticle1327273jetpack3.2自带了opencv3.3,但是只提供了python2.7的编译版本,

https://cloud.tencent.com/developer/article/1327273

jetpack3.2自带了opencv3.3,但是只提供了python2.7的编译版本,所以也只能在python2.7下使用,我本来以为有什么更简单的方法链接到python3中,但是遍查资料也没人说过这个东西,直到我找到一篇博客。 how to install opencv3.4.0 on jeson TX2 这片文章写得非常好,把刷完机后所有的准备工作都写得很清楚,包括如何卸载旧的opencv版本。我就不重新写一遍了,只说下大概可能遇到的问题。

  1. 安装matplotlib出错。 前面卸载安装一些东西都很顺利,直到安装matplotlib的时候会报错(如果没有报错就不用管了),原因是需要一些预装库python3-tk。nose库。所以按照下面的命令依次安装就可以了。
sudo apt-get install python3-tk pip3 install nose pip3 install pillow pip3 install spicy pip3 install matplotlib
  1. 下载时网速很慢。 这个主要是下载opencv的时候很慢,还有个什么下载也很慢,我的解决方法就是换了手机热点,然后网速嗖嗖的,基本上解决了,移动4g,联通电信不太清楚,我用的是校园网,所以可能有这个问题,如果是其他的网络的话可能就没有问题。
  2. 修改cuda_gl_interop.h 教程里的是通过vim进去的,对vim很熟的就不说了,先进入insert模式然后再推出,输入冒号:,输入wq保存退出,实际上就是给那几行加了注释。
  3. 对照一下General configuration for OpenCV 3.4.0。 对照一下这个信息保证正确,如果不对的话就回去查看下cmake时候输入的配置信息。

这样应该就没有什么问题了,python2和python3都安装上了opencv,可以愉快的使用了。

test:

c++程序使用

这个是补的,当时编译完只有只测试过python环境下是可以用的了,但是c++版本的并没有测试,后来需要编译c++程序的时候发现还是有问题,会提示找不到包含opencv的文件夹。原因是因为还没有把编译好的opencv添加到linux的系统路径中。

首先修改配置文件: sudo vim /etc/ld.so.conf 在其后添加opencv编译的lib的路径。

比如我的添加完了之后是这样的(显示器被借走了,所以今天是远程连接截图,win风格莫在意!)。 然后在运行 sudo ldconfig 这个命令的用途是在ld.so.conf内所列的目录下搜索可共享的动态链接库,进而创建出动态装入程序所需要的连接和缓存文件。具体可以参见这里,一般在重启系统时会自动运行,当用户安装了一个新的动态链接库的时候,如果不想重启则需要手动运行这个命令。

然后修改bash.bashrc文件。 sudo vim /etc/bash.bashrc 在最后添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH

添加完成之后长这样:

然后输入source /etc/bash.bashrc 更新环境变量。

这下就可以在c++环境下愉快的使用opencv了。编译opencv的cpp程序时,需要使用下面命令:

g++ main.cpp -o first `pkg-config opencv --cflags --libs`

后面是连接和参数,配置好了这么写就可以了,然后生成可执行文件运行就可以了,比如我们这里生成的是first。那么执行: ./first 就可以了! 还有一种形式是使用cmake来进行编译,生成可执行文件然后载运行,可以参考:ubuntu下opencv的编译和使用

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于 2018-09-04
3

和蔼的张星的图像处理专栏

119 篇文章25 人订阅
  • 5. 小项目之Face_detection
  • 3. 经典卷积网络之GooleInceptionNet
  • c++ primer2 变量和基本类型。
  • 4. 经典卷积网络之AlexNet
  • 暗通道去雾算法原理及实现

我来说两句

0 条评论
 
登录 后参与评论
  • 上一篇:如何使用GPG密钥进行SSH身份验证
  • 下一篇:4. 经典卷积网络之AlexNet

推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 解决github访问慢的问题的方法集锦
    本文总结了国内用户在访问github网站时可能遇到的加载慢的问题,并提供了解决方法,其中包括修改hosts文件来加速访问。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
author-avatar
死性不改2502857027
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有