上位机图像处理和嵌入式模块部署(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

相关文章

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基