上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)

2024-06-12 08:20

本文主要是介绍上位机图像处理和嵌入式模块部署(h750 mcu和图像处理),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

        前面我们说过,h750和之前的103、407相比较,本身cpu频率比较高,flash大小一般,但是ram比较大,特别适合用来进行算法处理。其中,又以图像算法的处理更有实际意义。因为,如果mcu的频率不需要那么高的话,那么其实用407也完全可以实现我们的需求。那如何用市面上的h750开发板,进行图像处理开发板呢?

1、首先打通两个串口

        这里需要两个串口,一个串口进行debug信息的打印,另外一个串口进行数据的交互。两个串口最好相互区分开来。通常串口的波特率一般设置成115200,但是实际使用的时候,设置成460800进行数据传输,一般问题也是不大的。

        大家也可以通过usb、或者是以太网进行数据的传递,只不过这两部分都比较浪费空间,移植上面有一定的难度,对图像来说也不是必选项。还有同学说认为可以利用tf卡,技术难度是不大,但是插拔起来比较不方便。

2、需要上位机交互使用

        既然准备好了数据通信串口,下面就是需要编写一个上位机进行数据的发送和接收。编程的方法可以是c++和qt,也可以是c#和wpf,大家可以根据自己的情况灵活进行选择。这样有了图像的上传和下载,整个图像的导入、导出就比较方便了。

3、缩小图像

        我们知道h750vbt6的ram是比较大的,大约1m,而flash比较小,只有128k。但是,我们也知道,处理的图片大小一般都不小,以512*512标准的lena图像来说,一张大小就有差不多256k。所以实际处理的时候,我们有必要缩小一下图像,比如变成256*256,这样图片的大小就只有64k,只有原来的1/4,节约了不少空间。

4、后期慢慢加上sdram

        缩小图像是我们研发时的权宜之计,也是为了适应大多数板子开发时的要求。真正后期部署的时候,还是需要搭载一块sdram的,因为我们自己并不知道实际拍摄的图片是多大。此外,实际生产当中,512*512很有可能已经是缩小之后的图像了。

5、接着用camera sensor代替上位机发送图像

        实时性是图像处理很大的一个特点,同样而言,前期开发的时候用图像代替实际camera是可取的,后期的话还是会用ov5640这样的实际camera,来代替之前的上位机图像传递了。

6、算法参数保存

        这部分的话,直接依靠spi norflash来实现。

7、中间图像结果的保存

        实际应用的时候,有的时候需要对大量的中间图像数据进行保存,全部放在ram或者flash都是不太现实的。这种情况下,最好能够把中间结果保存在tf卡上面。这样后期测试和验证的时候都很方便。

8、需不需要网络phy根据实际情况而定

        网络的好处是使用方便,对外数据收发比较简洁。但是缺点是占用ram和flash空间,很多时候,引入了lwip之后,还需要引入rtos,这种情况下原来的h750可能在flash大小上就不一定满足要求了。

9、实现路径和方法

        一开始的时候,大家没有必要追求大而全,做好前面的1-3,其实就相当于把h750用起来了。后期等到准备实际部署的时候,再重新换板子,把4-8补上,这都是可以的。我们自己的精力,大部分时间还是应该放在如何利用mcu现有的性能,更好地实现图像功能上面。

这篇关于上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053684

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Python sys模块的使用及说明

《Pythonsys模块的使用及说明》Pythonsys模块是核心工具,用于解释器交互与运行时控制,涵盖命令行参数处理、路径修改、强制退出、I/O重定向、系统信息获取等功能,适用于脚本开发与调试,需... 目录python sys 模块详解常用功能与代码示例获取命令行参数修改模块搜索路径强制退出程序标准输入

Python pickle模块的使用指南

《Pythonpickle模块的使用指南》Pythonpickle模块用于对象序列化与反序列化,支持dump/load方法及自定义类,需注意安全风险,建议在受控环境中使用,适用于模型持久化、缓存及跨... 目录python pickle 模块详解基本序列化与反序列化直接序列化为字节流自定义对象的序列化安全注

python pymodbus模块的具体使用

《pythonpymodbus模块的具体使用》pymodbus是一个Python实现的Modbus协议库,支持TCP和RTU通信模式,支持读写线圈、离散输入、保持寄存器等数据类型,具有一定的参考价值... 目录一、详解1、 基础概念2、核心功能3、安装与设置4、使用示例5、 高级特性6、注意事项二、代码示例

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署