硬汉嵌入式论坛

 找回密码
 立即注册
查看: 961|回复: 7
收起左侧

[STM32H7] 求助大佬,STM32H7解码图片显示不正常

[复制链接]

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2024-12-3 13:23:40 | 显示全部楼层 |阅读模式
配置采用的是H7,LTDC驱动RGB屏幕,格式采用ARGB8888,图片存储在SD卡,SDRAM作显存。

这是彩色图片,感觉显示不太干净

这是彩色图片,感觉显示不太干净

自定义的渐变色显示不连续

自定义的渐变色显示不连续

然乎我用了一个BMP图片软解码输出到RGB屏幕,并不同于JPEG的显示,这是多了很多噪点的不连续

然乎我用了一个BMP图片软解码输出到RGB屏幕,并不同于JPEG的显示,这是多了很多噪点的不连续
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-12-3 13:24:57 | 显示全部楼层
救救孩子,有大佬知道为什么吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2024-12-4 09:17:33 | 显示全部楼层
Wendy01 发表于 2024-12-3 13:24
救救孩子,有大佬知道为什么吗

你这里配置的颜色格式是ARGB8888,你的底层刷新也是32bit数据方式操作的吧,这点一定要注意。

有测试过RGB565颜色格式正常不
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-12-4 13:29:17 | 显示全部楼层
eric2013 发表于 2024-12-4 09:17
你这里配置的颜色格式是ARGB8888,你的底层刷新也是32bit数据方式操作的吧,这点一定要注意。

有测试 ...

RGB565应该是正常的,相关的格式我也是改到了32位,原来工程是显示RGB565图片的,我就想改到RGB888获得更好的显示效果,如果单纯是驱动LTDC不解码图片的话,做简单的刷屏的话,我调试发现显存里的ARGB8888数据没什么问题,一旦解码图片就不能正常显示RGB888

这是RGB565JPEG图片

这是RGB565JPEG图片

这是红色渐变图

这是红色渐变图

这是纯红色图片,调试发现显存里的数据是C4D7,并不是F800

这是纯红色图片,调试发现显存里的数据是C4D7,并不是F800
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-12-4 15:36:17 | 显示全部楼层
eric2013 发表于 2024-12-4 09:17
你这里配置的颜色格式是ARGB8888,你的底层刷新也是32bit数据方式操作的吧,这点一定要注意。

有测试 ...

我调试了ARGB8888,发现显存的数据也是不干净的,有没有可能是SDRAM驱动有问题,还是图片解码的过程数据处理有问题,真的头都大了

SDRAM显存数据

SDRAM显存数据

显示带有噪点

显示带有噪点

SD卡原图

SD卡原图
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-12-4 16:01:42 | 显示全部楼层
eric2013 发表于 2024-12-4 09:17
你这里配置的颜色格式是ARGB8888,你的底层刷新也是32bit数据方式操作的吧,这点一定要注意。

有测试 ...

纯红JPEG图片显示SDRAM就不干净,屏幕显示有很多噪点,纯白的SDRA格式就正常,显示也正常,在别的工程看到说要开启LTDC的颜色抖动,显示效果也好不到哪去而且屏幕还有动态波纹

SDRAM(8888格式)

SDRAM(8888格式)

纯白显示

纯白显示
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2024-12-4 22:07:13 | 显示全部楼层
eric2013 发表于 2024-12-4 09:17
你这里配置的颜色格式是ARGB8888,你的底层刷新也是32bit数据方式操作的吧,这点一定要注意。

有测试 ...

这个论坛有个帖子说最好不要开启LTDC的颜色抖动,但是我在一个JPEG的工程文件的开启抖动的注释说,如果使用24位或者32位RGB要开启颜色抖动,我尝试开启了颜色抖动,发现显示效果好了很多,代价是屏幕显示出现了动态的条纹......
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2024-12-5 08:54:49 | 显示全部楼层
Wendy01 发表于 2024-12-4 16:01
纯红JPEG图片显示SDRAM就不干净,屏幕显示有很多噪点,纯白的SDRA格式就正常,显示也正常,在别的工程看 ...

写入显存的原始数据不对的话,可能是Cache问题,测试期间先把SDRAM的MPU/Cache配置关闭了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 02:35 , Processed in 0.047086 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表