coolaimcu 发表于 2024-3-24 20:54:39

有谁用LVGL搞过摄像头图像实时动态显示?

用MLX90640热成像传感器做了一个热成像仪,用了GUI GUIDER做了个界面,一个主界面,另一个界面专门用来实时显示MLX90640传感器传来的图像。

现在就是这个实时显示怎么都不行,图像是出来了,但是非常卡,CPU占用一直100%,裸机跑很流畅,一上LVGL就非常卡顿!折腾了好久解决不了。

我用的是AT32F435 MCU,M4核,主频288M, 配置也不差。我用的是图片控件来做图像显示,就是用一个定时器定时刷新图片源,但是CPU一直100%,,,无法解决

我这个显示分两步,一个是先计算MLX90640过来的数据,把数据处理成RGB565数据,然后把RGB565丢给LVGL的图片控件显示,缓存开到和图片一样大,图片大小是320*240,16位。

从MLX90640到RGB565这一步涉及大量的父浮点运算,不知道是不是这一步影响了速度(但用的是MCU自带的硬件浮点运算单元)。。。。。

有谁有这方面经验能分享一下?谢谢

eric2013 发表于 2024-3-25 07:55:58

这个在我弄的emWin和GUIX教程里面都做了案例,

emWin是采用存储设备方式绘制的,GUIX是采用画布方式绘制的,大同小异,这样可以速度最大化,LVGL还没测试过

https://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

coolaimcu 发表于 2024-3-26 11:13:05

eric2013 发表于 2024-3-25 07:55
这个在我弄的emWin和GUIX教程里面都做了案例,

emWin是采用存储设备方式绘制的,GUIX是采用画布方式绘制 ...

感谢硬汉哥回复!

我看了下你发的衔接,使用的是STM32H7这种高端MCU做的,我想问下用资源差一些的MCU是否可以做?

我的MCU是AT32F435,国产M4核,288M主频,FLASH 1M,SRAM 512K,我自己通过QSPI XIP方式外扩了一个PSARM,速度84M。

我的MCU接口是MCU8080 16bit,RGB565显示,4寸LCD, 分辨率480x320, LCD控制器是内置的ILI9488, 摄像头图像显示大小为352x264, 摄像头显示缓冲区开在这个外扩的84M PSRAM里。

我的摄像头不是ov2640这种,是红外摄像头,这个摄像头采集的是温度数据,通过I2C接口把温度数据传给MCU,MCU接收到数据后要把温度数据转为352x264大小的RGB565数据显示,温度数据转为RGB565需要经过大量的浮点运算。

我的MCU没有LTDC,也没有DMA2D加速,请硬汉哥帮我看下,我的这种配置是否可以跑的起来摄像头图像?

感谢!




eric2013 发表于 2024-3-26 11:17:13

coolaimcu 发表于 2024-3-26 11:13
感谢硬汉哥回复!

我看了下你发的衔接,使用的是STM32H7这种高端MCU做的,我想问下用资源差一些的MCU ...

完全没问题。我们早期F407是168M还能刷新

coolaimcu 发表于 2024-3-26 11:45:04

eric2013 发表于 2024-3-26 11:17
完全没问题。我们早期F407是168M还能刷新

明白了,感谢!

ghslfgkkl88 发表于 2024-3-26 13:40:59

实时显示,每秒刷新多少帧?

tovinz 发表于 2024-3-26 13:55:29

AT32F435 RAM 配置到512K,零等待Flash大小貌似只有128K了。把LVGL塞进去之后是不是大量代码都在非零等待区运行导致的。

coolaimcu 发表于 2024-3-26 14:22:19

tovinz 发表于 2024-3-26 13:55
AT32F435 RAM 配置到512K,零等待Flash大小貌似只有128K了。把LVGL塞进去之后是不是大量代码都在非零等待区 ...

是有可能的,LVGL的内核文件我放在内部flash,应该也超过128K 了,我在外部QSPI XIP外挂了一颗Nor FLASH, UI 素材放在这个flash里面。这种基本是没办法解决的,只能这么用了。我现在先调调看,可能LVGL的刷图机制我也没搞清楚,我的代码写的肯定是有问题的

coolaimcu 发表于 2024-3-26 15:09:42

ghslfgkkl88 发表于 2024-3-26 13:40
实时显示,每秒刷新多少帧?

裸机驱动,妥妥的50帧以上,上LVGL,我还没调出来

ghslfgkkl88 发表于 2024-3-26 15:42:15

不少人反应LVGL慢,然道真的比emwin慢很多?
页: [1]
查看完整版本: 有谁用LVGL搞过摄像头图像实时动态显示?