上位机图像处理和嵌入式模块部署(linux开发板的选择)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        很多图像算法是通过上位机来完成的,比如说工业视觉当中的halcon,一般都是要运行在windows平台上面,并且需要高性能pc的支持。但是,还有一部分软件,他们的功能往往比较单一,客户场景也比较纯粹,这个时候使用高性能的arm开发板可能更为合适,成本也低很多。这主要是,因为相关的功能很有可能是货物的检测、距离的测量、产品质量的检验以及二维码的识别等等。所以如果是大批量的基础功能开发,用arm linux开发板还是非常合算的。

1、选择什么样的arm开发板

        尽量选择资料比较多的开发板,不要选择太小众的开发板。这方面,建议大家不用太过于考虑价格因素,以学习资料多、板子质量高为第一考虑条件,这是比较务实的看法。如果是按照这个标准考虑,树莓派其实非常合适。

2、入手准备

        现在的开发板都做得非常小巧。我们使用开发板的主要目的是进行图像处理,所以,一般来说构建一个最小硬件系统,对我们来说就足够了。最小的系统,通常就是电源+开发板+sd卡+读卡器+网线,如果需要显示的话,还会有一个mini hdmi线。当然准备一个usb转串口的小备件,也是十分有必要的。

3、开发板镜像用sd卡烧入

        如果是开发的话,原来的开发板是不是自带emmc,这一点不是那么重要。与其说把时间浪费在烧入emmc上面,或者是类似的norflash、nandflash上面,不如直接用sd卡进行开发,这样来的更方便一点。而且很多开发板厂商都会提供对应的镜像烧入工具和镜像文件,用pc+usb读卡器直接烧入即可。

4、镜像的选择

        我们对于linux开发板,应该是着重于使用,所以对于镜像,没必要追求大而全。比如是不是有界面,是支持32位还是支持64位,这些都可以根据自己的需求做出选择。镜像本身就包括了uboot、zImage、dts、rootfs,所以一般的软件都是自带好的。甚至像树莓派这样的开发板,在板子上都有编译器,使用还是非常方便的。

5、尽快从串口调试,转向网络调试

        linux的网络功能还是非常优秀的。只要开发板提供了网口,建议尽快切到网络进行开发,比如说telnet、ssh、ftp、http这些常用的协议,都是依赖于网口和网络协议部分的。因此一旦板子支持了这些协议,不管是上传、下载,还是debug调试,本身都非常方便。

6、没有必要一开始就上camera摄像头

        我们使用开发板,一般就是利用linux环境和arm芯片,确认一下算法的性能,没有必要一开始就上camera摄像头。只要有参考测试图片,甚至于opencv都可以先不安装,直接使用二进制图像文件测试,这都是可以的。如果是视频,甚至可以是连续的二进制文件。所以大家实验的时候,没有必要执着于大而全,能用就可以了。后期需要什么,再继续补上就可以了。

7、linux用到什么,学什么

        linux本身是一个大学堂,很多新手非常容易在这当中迷失方向。所以不光是命令、网络配置、远程调试、编译优化等等,都有很多的内容。大家可以根据自己的需要,一边学习,一边测试即可。初期学习那些用得上的内容,后期再做进一步加深和了解,这是比较合适的。如果每一个方向都深入下去,其实很容易让自己迷失方向的。

        非必要的情况下,一般不需要深究linux kernel、linux driver这些知识点。就算是将来和其他设备打交道,了解232、485、can、ethernet这些,其实也已经足够了。还是把重点放在图像算法、业务上面,这样更为妥当一点。

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

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

相关文章

使用unicorn模拟执行去除混淆

0. 前言 在分析某app的so时遇到了间接跳转类型的混淆,不去掉的话无法使用ida f5来静态分析,f5之后就长下面这样: 本文记录一下使用pythonunicorn模拟执行来去掉混淆的过程。 1. 分析混淆的模式 混淆的汇编代码如下: 可以看到…

python+PyQt5 左右声道测试

UI: 源代码: # -*- coding: utf-8 -*-# Form implementation generated from reading ui file MicrophoneWinFrm.ui # # Created by: PyQt5 UI code generator 5.15.2 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is …

前端JavaScript篇之new操作符的实现原理

目录 new操作符的实现原理 new操作符的实现原理 new操作符是用于创建对象的关键字,它的实现原理可以用以下简单的步骤来描述: 创建一个新的空对象。将新对象的原型指向构造函数的原型对象。将构造函数的作用域赋给新对象(即将构造函数中的t…

Java宝典-数据类型

目录 1.变量与常量2.Java中的数据类型3.整型3.1 字节型byte3.2 短整型short3.3 整型int3.4 长整型long 4.浮点型4.1 单精度浮点型float4.2 双精度浮点型double 5.字符型6.布尔型7.类型转换7.1 隐式类型转换7.2 显示类型转换(强制类型转换) 8.类型提升 大家好,我是你们的Vampire…

三款精选数字孪生产品大比拼

作为一名数据可视化领域的资深用户,我接触过众多数据可视化产品。本文将介绍三款备受关注的数据可视化工具,并对它们进行详细的比较。 首先,让我们了解一下数据可视化产品的核心价值。在信息爆炸的时代,数据可视化成为快速理解复…

Maven dependency中的scope

Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile。 scope的分类 compile(默认) 含义: compile 是默认值,如果没有指定 scope 值,该元素…

高宇辰:打造“π”型人才 | 提升之路系列(七)

导读 为了发挥清华大学多学科优势,搭建跨学科交叉融合平台,创新跨学科交叉培养模式,培养具有大数据思维和应用创新的“π”型人才,由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项…

由浅至深谈谈线程、锁

并发编程 一、线程的基础概念 一、基础概念 1.1 进程与线程A 什么是进程? 进程是指运行中的程序。 比如我们使用钉钉,浏览器,需要启动这个程序,操作系统会给这个程序分配一定的资源(占用内存资源)。 …

网络原理TCP/IP(1)

文章目录 端口号UDP协议 在网络通信中,协议非常重要 协议进行了分层 应用层就是对应着应用程序,是程序员打交道最多的这一层,调用系统提供的网络api写出来的代码都是属于应用层的 应用层有很多现成的协议,但是更多的还是程序员需要…

【论文阅读笔记】Taming Transformers for High-Resolution Image Synthesis

Taming Transformers for High-Resolution Image Synthesis 记录前置知识AbstractIntroductionRelated WorkMethodLearning an Effective Codebook of Image Constituents for Use in TransformersLearning the Composition of Images with Transformers条件合成合成高分辨率图…

k8s中cert-manager管理https证书

前言 目前https是刚需,但证书又很贵,虽然阿里云有免费的,但没有泛域名证书,每有一个子域名就要申请一个证书,有效期1年,1年一到全都的更换,太麻烦了。经过搜索,发现了自动更新证书神器cert-manager;当然cert-manager是基于k8s的。 安装采用Helm方式 Chart地址: ht…

AI-数学-高中-12-对数定义和基本运算规则、对数换底公式

原作者视频:初等函数】4对数定义基本运算规则(基础)_哔哩哔哩_bilibili 初等函数】5对数换底公式练习(基础)_哔哩哔哩_bilibili 对数读法:以a为底,b的对数,a为底数,b为…