搜索
bottom↓
回复: 289

开源Jpeg解码模块,ChaN(FatFs 作者)又一力作,代码精炼,体积小巧,很容易移植(有图有

  [复制链接]

出0入0汤圆

发表于 2011-12-6 04:00:06 | 显示全部楼层 |阅读模式
FatFs已经在很多嵌入式系统中得到应用,相信大家对此早有耳闻或已应用过。现在作者又推出了
开源的Jpeg解码模块,同样基于标准ANSI-C编写,方便移植应用。
1、来看下它的资源消耗:
    1.1、RAM:3KB;
    1.2、ROM:4.5-9.5KB,主要用来存储代码和const常量型数据,具体消耗多少,看你怎么配置功能了;
2、解码输出形式:
    2.1、比例调整支持:1/1,1/2,1/4,1/8可选;
    2.2、输出RGB格式:RGB888或RGB565(这个在嵌入式LCD应用中很常用)。
3、目前作者提供的移植应用平台有AVR, PIC24, LPC1114 and Win32,特别是Win32平台下的代码可以用VC直接
   打开,大家可以立即尝鲜,里面有作者提供的一个text.jpg文件,也有我自己的一个logo,zidong404.jpg,
   VC下的代码运行后,会生成两个相同文件名得bmp的文件,说到bmp的文件组织就简单了,一般的嵌入式平台
   显示bmp图像都很容易,当然作者只是提供了一个bmp的形式方便大家查看解码结果,如果你手上有个LCD,不妨
   移植一下,在LCD上显示一张JPG的图像,你可以应用FatFs来打开这个jpg文件,或者将该jpg文件的原数据编译
   到代码里面(一般jpg就很小了,文件可以放到单片机里面,而且不需要一个文件系统来支持)。
4、这是作者的官网:http://elm-chan.org/fsw/tjpg/00index.html,更多信息或更新可以到该网站查询。
5、jpeg解码模块示意图:

(原文件名:jpeg模块示意图.jpg)
6、现在作者提供的仅是一个解码模块,希望以后能看到编码模块,大家感兴趣不放移植看下效果,至少我用uCGUI的jpeg来解码,效果没有这个tjpgd模块的效果好(同是在VC下摸了运行)。
下面给大家上两张解码的效果图:
原jpg文件:

(原文件名:test1.jpg)


(原文件名:zidong404.JPG)
解码完成:

(原文件名:解码完成.jpg)

解码后效果图(bmp格式,截图上传):

(原文件名:解码后.jpg)

下面是jpg解码模块的源文件和几个平台上的移植

点击此处下载 ourdev_701965NE7VLR.rar(文件大小:1.80M) (原文件名:ChaN(FatFs文件系统作者)又一力作开源JPEG解码库函数.rar)

这是作者在各个嵌入式平台上的demo演示,越到后面速度越快
点击此处下载 ourdev_702136R7PPIK.rar(文件大小:2.97M) (原文件名:tjdemo作者在各个平台上的解码演示,越到后面解码越快.rar)

新修改添加:
--------------------------------------------------------------------------------------------------------------------
    花了几个小时时间,把这个解码模块移植到了STM32上,程序是在我的OV7670开发套件上跑的(原理图在以前发的帖子上有),MDK4.12编译环境,感觉我的显示速度没有作者在LPC上跑的快,可能是我的LCD驱动使用的是IO模拟速度要慢一些的原因。
    使用了作者的FatFs文件系统,从SD卡里面读出jpg文件在LCD上显示(240*320像素),以下是一些LCD上显示的图片效果:
还是那张测试的卡通图片:

(原文件名:2.jpg)
我的LOGO图片

(原文件名:1.jpg)
一张240*320的jpg图片

(原文件名:4.jpg)
一张480*640的图片

(原文件名:3.jpg)

这是STM32下的移植演示代码,通过FatFs从SD中读取一张jpg文件后显示在LCD上:

点击此处下载 ourdev_702227ADPHWK.rar(文件大小:8.00M) (原文件名:MyProjectV1_5(LCD_jpegV1_0).rar)

-------------by:zidong404--------------2011-12

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2011-12-6 04:33:54 | 显示全部楼层
马甲

出0入0汤圆

发表于 2011-12-6 07:14:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 07:23:43 | 显示全部楼层
Mk

出0入0汤圆

发表于 2011-12-6 07:29:38 | 显示全部楼层
牛人

出0入0汤圆

发表于 2011-12-6 07:43:03 | 显示全部楼层
不错的消息

出0入0汤圆

发表于 2011-12-6 07:55:28 | 显示全部楼层
回复【楼主位】zidong404 自动404
-----------------------------------------------------------------------

好资料,一定要看看

出0入9汤圆

发表于 2011-12-6 08:16:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 08:36:20 | 显示全部楼层
好东西,以后有编码那就更好了

出0入0汤圆

发表于 2011-12-6 08:38:54 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2011-12-6 08:39:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 08:40:11 | 显示全部楼层
标记

出0入25汤圆

发表于 2011-12-6 08:42:19 | 显示全部楼层
好消息,可惜我的M051一共才4K RAM,没法玩儿呀!!!

出0入0汤圆

发表于 2011-12-6 08:50:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 08:51:07 | 显示全部楼层
好文当顶

出20入186汤圆

发表于 2011-12-6 08:51:35 | 显示全部楼层
mar

出0入0汤圆

发表于 2011-12-6 09:02:03 | 显示全部楼层
MARK!

出0入9汤圆

发表于 2011-12-6 09:09:38 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-12-6 09:09:38 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-12-6 09:10:42 | 显示全部楼层
这个要顶!!

出0入0汤圆

发表于 2011-12-6 09:15:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 09:16:32 | 显示全部楼层
呵呵 可以在1788上移植看看

出0入0汤圆

发表于 2011-12-6 09:31:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 09:41:30 | 显示全部楼层
老马克

出0入0汤圆

发表于 2011-12-6 09:44:03 | 显示全部楼层
太好了

出0入0汤圆

发表于 2011-12-6 09:45:33 | 显示全部楼层
准备移植到lpc17xx上了!

出0入0汤圆

发表于 2011-12-6 09:46:41 | 显示全部楼层
mark,不错的东东.

出0入0汤圆

发表于 2011-12-6 09:48:03 | 显示全部楼层
很好

出0入0汤圆

发表于 2011-12-6 09:50:54 | 显示全部楼层
fatfs和jpeg都是一个人写的吗??牛啊

出0入0汤圆

发表于 2011-12-6 10:02:14 | 显示全部楼层
开源Jpeg解码模块,ChaN(FatFsB作者)又一力作

出0入0汤圆

发表于 2011-12-6 10:07:59 | 显示全部楼层
灰常好,支持

出0入0汤圆

发表于 2011-12-6 10:20:38 | 显示全部楼层
mark~~~

出0入0汤圆

发表于 2011-12-6 10:29:06 | 显示全部楼层
MARK

出0入4汤圆

发表于 2011-12-6 10:30:54 | 显示全部楼层
marked

出0入4汤圆

发表于 2011-12-6 10:40:33 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-12-6 11:12:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 11:26:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 11:31:45 | 显示全部楼层
这个得顶啊

出0入0汤圆

发表于 2011-12-6 11:44:53 | 显示全部楼层
mark

出330入1925汤圆

发表于 2011-12-6 12:47:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 12:51:05 | 显示全部楼层
好东西啊,收藏。

出0入0汤圆

发表于 2011-12-6 12:54:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 12:56:23 | 显示全部楼层
好资料!必须顶!

出0入0汤圆

发表于 2011-12-6 12:56:33 | 显示全部楼层
mask

出0入0汤圆

发表于 2011-12-6 13:05:55 | 显示全部楼层
mark
这个不错 呵呵

出0入0汤圆

发表于 2011-12-6 13:17:12 | 显示全部楼层
mark,学习

出0入0汤圆

发表于 2011-12-6 13:20:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 13:26:15 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-12-6 15:53:44 | 显示全部楼层
回复【12楼】XIVN1987
好消息,可惜我的m051一共才4k ram,没法玩儿呀!!!
-----------------------------------------------------------------------
AVR的mega64也才4KRAM,作者还有在上面玩起了。

出0入0汤圆

 楼主| 发表于 2011-12-6 15:59:46 | 显示全部楼层
楼主位新上传了作者的一个视频demo,看了以后朋友们还hold住吗?呵呵,反正我是要动刀在STM32上看下效果了。

出0入0汤圆

发表于 2011-12-6 16:08:03 | 显示全部楼层
mark,好东西

出0入85汤圆

发表于 2011-12-6 17:26:03 | 显示全部楼层
大赞,ChaN太给力了~

出0入0汤圆

发表于 2011-12-6 17:29:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 17:55:54 | 显示全部楼层
正好用

出0入0汤圆

发表于 2011-12-6 18:04:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 18:06:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 18:32:15 | 显示全部楼层
好资料。

出0入4汤圆

发表于 2011-12-6 18:39:15 | 显示全部楼层
mark, jpeg解码

出5入8汤圆

发表于 2011-12-6 18:45:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 19:24:22 | 显示全部楼层
mark

出15入9汤圆

发表于 2011-12-6 19:37:57 | 显示全部楼层
收了!

出0入0汤圆

发表于 2011-12-6 19:59:28 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-12-6 22:32:11 | 显示全部楼层
jpeg真占资源

出0入0汤圆

发表于 2011-12-6 22:57:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-6 23:02:44 | 显示全部楼层
Nice Mark一下。

出0入0汤圆

发表于 2011-12-6 23:03:27 | 显示全部楼层
记号

出0入0汤圆

发表于 2011-12-6 23:10:20 | 显示全部楼层
程序写的不错~~~~

出0入0汤圆

发表于 2011-12-7 10:20:59 | 显示全部楼层
很不错!代码精炼,效率高.

出0入0汤圆

发表于 2011-12-7 10:29:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-7 10:31:11 | 显示全部楼层
支持!

出0入0汤圆

发表于 2011-12-7 19:10:56 | 显示全部楼层
好东西 看看

出0入0汤圆

发表于 2011-12-8 11:49:50 | 显示全部楼层
male

出0入0汤圆

发表于 2011-12-8 11:52:19 | 显示全部楼层
开源Jpeg解码模块,ChaN(FatFs 作者)又一力作,代码精炼,体积小巧,很容易移植(有图有代码)已移植到STM32

出0入0汤圆

发表于 2011-12-8 13:28:57 | 显示全部楼层
这个必须要顶

出0入0汤圆

发表于 2011-12-8 17:58:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-8 18:35:03 | 显示全部楼层
将该jpg文件的原数据编译到代码里面,
---------------------------------
请教楼主,这个怎样做,我不想用SD卡。

出0入0汤圆

 楼主| 发表于 2011-12-8 19:17:17 | 显示全部楼层
回复【76楼】smallbird
将该jpg文件的原数据编译到代码里面,
---------------------------------
请教楼主,这个怎样做,我不想用sd卡。
-----------------------------------------------------------------------
    可以网上下载一个软件,比如磁盘编辑器,用它在电脑上打开一个jpg文件,然后将这个jpg文件的所有数据以一个数组的形式保存,并将这个数组编译到代码里面,tjpgd在调用读jpg数据的函数时,就从这个数组里面去读数据交给tjpgd解码就可以了。
    tjpgd模块一共有两个对外接口,一个是输入,一个是输出,输入即从哪里读取jpg文件,输出即解码后的数据通过怎样的形式传给用户,我们的应用一般是通过文件系统读取jpg文件,然后通过LCD显示jpg图片,就如我楼主位在STM32上移植的那样。这两个输入和输出函数是需要用户自己提供的,大家可以参考作者的列子或者我在STM32工程的移植演示来写这两个函数。

出0入0汤圆

发表于 2011-12-8 20:23:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-8 22:28:03 | 显示全部楼层
支持ChaN,支持楼主

出0入0汤圆

发表于 2011-12-9 20:31:42 | 显示全部楼层
要是楼主配有讲解的教程就更好了,哈哈...............

出0入0汤圆

发表于 2011-12-9 20:48:54 | 显示全部楼层
强!

出0入0汤圆

发表于 2011-12-9 21:14:23 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-12-10 11:15:58 | 显示全部楼层
回复【80楼】simon86clj Simky Yang
要是楼主配有讲解的教程就更好了,哈哈...............
-----------------------------------------------------------------------

讲解都在作者的官网上,E文的,不过也好读懂了。

出0入0汤圆

发表于 2011-12-10 11:20:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-10 11:26:11 | 显示全部楼层
mark

出0入17汤圆

发表于 2011-12-10 11:26:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-10 11:57:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-10 17:23:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-10 17:41:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-10 18:11:56 | 显示全部楼层
好东西啊

出0入0汤圆

发表于 2011-12-10 20:10:37 | 显示全部楼层
这个是好东西。谢谢了。

出0入9汤圆

发表于 2011-12-10 20:24:51 | 显示全部楼层
谢了

出0入0汤圆

发表于 2011-12-10 21:29:41 | 显示全部楼层
顶你一下

出0入0汤圆

发表于 2011-12-10 21:51:43 | 显示全部楼层
好东西,顶一下。

出0入0汤圆

发表于 2011-12-11 01:04:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-11 03:44:04 | 显示全部楼层
谢谢

出0入0汤圆

发表于 2011-12-11 04:13:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-11 16:57:24 | 显示全部楼层
给力啊!!

出0入0汤圆

发表于 2011-12-11 17:32:37 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-12-11 21:22:14 | 显示全部楼层
这个要顶
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-2 10:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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