编译OpenCV——jetson嵌入式平台

news/2024/12/2 17:45:29/文章来源:https://www.cnblogs.com/xixixing/p/18582365

jetson嵌入式平台的系统为:ubuntu20.04 aarch64

不再研究Ubuntu x64上交叉编译ubuntu aarch64的OpenCV库,因为无法识别到arm的GTK导致编译不进去,最终imshow时会报如下错误:

modules/highgui/src/window.cpp:611:error: (-2) The function is not implemented.
Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on 
Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure

直接在jetson平台上编译OpenCV则不会出现此问题。

1、下载源码(zip压缩包)后,鼠标右键,解压这两个压缩包。新建个build文件夹(最终得到的是build/install里的所有内容)

Releases · opencv/opencv

Tags · opencv/opencv_contrib

都在src文件夹里

2、安装编译工具

#安装cmake和arm64版gcc、g++
sudo apt install -y cmake cmake-gui
sudo apt install -y gcc-aarch64-linux-gnu
sudo apt install -y g++-aarch64-linux-gnu

3、安装一些依赖

sudo apt-get install -y build-essential
sudo apt-get install -y libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libcanberra-gtk-module
sudo apt-get install -y libtbb-dev libjpeg-dev libpng-dev

GTK是一个开源的跨平台GUI工具包,使用imshow等函数会用到。也可以用qt作界面,但需要安装qt,此处不再赘述。

4、CMake界面设置

打开CMake界面,选择目录后,点击Configure。注意选择aarch64的gcc、g++

勾选nonfree并指定modules路径

 勾选world,否则生成很多的so,不方便配置。勾选所有GTK。只勾选BUILD_ZLIB

  

勾选BUILD_ZLIB、BUILD_JPEG、BUILD_PNG

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/845529.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Breakout pg walkthrough Intermediate

nmap ┌──(root㉿kali)-[~/lab] └─# nmap -p- -A 192.168.192.182 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-02 04:50 UTC Nmap scan report for 192.168.192.182 Host is up (0.071s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SE…

从开发者工具转型 AI 呼叫中心,这家 Voice Agent 公司已服务 100+客户

Retell.ai 的 5 位联创。(图:maginative.com)Retell AI 提供一个平台,用于构建和部署可进行自然、类人对话的 AI voice agent,赋能呼叫中心,替代或辅助人工座席。Retell AI 起初为构建 voice agent 产品的开发者提供 API,现已将重点转向为中型企业提供完整的 AI 呼叫中心…

实验5文档部分代码

实验一找到输入数据中的最大值和最小值 指向x[0]输出最大数 可以 实验二80 s1的内存大小和字符串长度 能 s1存储的内容是字符串"Learning makes me happy",而sizeof(s1)返回的是整个指针类型的大小\ 不能 在原始代码中,通过赋值的方式为s1分配内存空间,并初始化其…

IC Compiler II(ICC II)后端设计流程——超详细

Preface 本文中英文结合(学习一些专有名词),主要介绍ICC II软件进行后端设计的主要流程,在阅读之前需要对数字IC设计流程有一定的了解。 逻辑综合相关知识请查看:Synopsys逻辑综合及DesignCompiler的使用(想了解逻辑综合的可以看看这个,但内容较多) 数字IC设计整体流程…

迁移工具简介

迁移工具能有序、安全、便捷、轻松地将数字资产、服务、IT 资源及应用程序部分或完全迁移到天翼云,同时保证云上业务的可用性、安全性以及连续性。支持 x86、 ARM 同构服务器间迁移,覆盖多种主流操作系统、支持信创适配。本文分享自天翼云开发者社区《迁移工具简介》,作者:…

智慧园区算法视频分析服务器如何确保视频监控系统在极端天气下也能稳定运行?

在面对极端天气条件时,确保智慧园区算法视频分析服务器的稳定运行对于维持关键监控系统的连续性和数据安全性至关重要。以下是一系列措施,旨在保障视频监控系统在诸如暴雨、高温、暴雪等恶劣天气条件下的可靠性和有效性。通过实施这些策略,我们可以最大程度地减少极端天气对…

Docker常用应用之稍后阅读

1.简介 wallabag是一款开源的,可以自托管的稍后阅读工具。提供了浏览器插件和手机客户端,可以很方便的收藏文章用于稍后再看。 wallabag官网,wallabag github地址,wallabag dockerhub 2.部署 2.1.docker部署 cd /docker_data/ mkdir -p wallabag/data cd wallabag vi docke…

css 边框镶角

效果图:background: linear-gradient(to left, yellow, yellow) left top no-repeat,linear-gradient(to bottom, yellow, yellow) left top no-repeat,linear-gradient(to left, yellow, yellow) right top no-repeat,linear-gradient(to bottom, yellow, yellow) right top …

go语言常见cache库

摘自 https://zhuanlan.zhihu.com/p/624248354

带有多选和突出显示关键字的自定义下拉选择框(动态)

本文是在上一篇的基础上改造成 根据输入关键词动态筛选选项列表,然后实现多项选择并且关键词高亮。 上一篇:带有多选和突出显示关键字的自定义下拉选择框(静态) >> 带有多选和突出显示关键字的自定义下拉选择框: Custom Dropdown Select Box with Multiple Selectio…

2024.11.26(周二)

旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。 实验要求: 1. 画出对应的类图; 2. 提交源代码; 3. 注意编程规范。1、类图2、源代码 #include<iostream> using namespace …

多人编辑的终极指南,版本冲突不是问题!

在局域网环境下实现高效文档协同编辑,一直是企业和科研团队关注的焦点。版本冲突是这一过程中的核心技术挑战之一,它不仅关系到协作效率,还直接影响最终成果的质量。 在传统的文档协同中,多个用户同时编辑同一文档可能导致内容覆盖、丢失或逻辑混乱。这种问题常见于无版本控…