一个关于jpg图片的问题

cfan8 2010-11-27 11:29:57
各位大哥,小弟有一个问题想请教。我想要解码一张很大的jpg图片,系统提供了相应的函数,但是问题是内存很小。jpg格式内部是8*8的小块,请问怎么才能把其中一个8*8的小块提取出来并构建成一个可以解码的文件?
谢谢!
...全文
135 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
kj120520 2011-11-27
  • 打赏
  • 举报
回复
太难了看不懂 初学者
zhutianjin4355255 2010-11-30
  • 打赏
  • 举报
回复
楼主可以读出图片的二进制数据 分割成8*8的数据,然后加上图片头数据,就单独生成一个8*8的图片,接下来... 楼主懂的
bobo364 2010-11-29
  • 打赏
  • 举报
回复
有没有给你反向解码的函数?正向的话要经过dct(离散傅立叶变化),量化,zigzag扫描,行程编码,霍夫曼编码(主要是把前面的行程编码的码表压缩),反向的话就是正向的逆过程。如果给你的话,就把这8×8的mcu(最小编码单元)给反向压缩咯,生成一个1×64的数组,在写入文件。
cfan8 2010-11-29
  • 打赏
  • 举报
回复
8*8的像素
xspace_time 2010-11-29
  • 打赏
  • 举报
回复
网上能下载下来电子书<<visual c++ 6.0视频编码>>讲的很详细
zhutianjin4355255 2010-11-29
  • 打赏
  • 举报
回复
请问下楼主,8*8是什么意思? 8个像素×8个像素? 还是说数据?
卟惹尘埃 2010-11-29
  • 打赏
  • 举报
回复
好高深 看不懂
bluewanderer 2010-11-29
  • 打赏
  • 举报
回复
没研究过jpeg具体怎么编码的,但是我认为还不至于蠢到以块为单位进行熵压缩。要么牺牲质量把图存成多个文件,要么放弃jpeg把图存成多个小文件。应该没有压缩的图形格式不是大块进行熵压缩的。不管字典压缩还是熵压缩都对数据尺寸有依赖,尺寸不够大很难发挥压缩效果。
memoleak 2010-11-29
  • 打赏
  • 举报
回复
jpeg(不含jpeg2000)有两种编码方式,baseline和prograssive,前者在解码的过程中不需要太大的内存,是按照mcu解码的,可以解一块就可以输出一块;后者才需要大量的内存,而且也不能按照mcu来解码
cfan8 2010-11-28
  • 打赏
  • 举报
回复
我不需要自己解码 我只需要把图片切成小块然后交给一个系统提供的函数解码。请问这种情况我会需要自己处理这些运算吗?
cfan8 2010-11-27
  • 打赏
  • 举报
回复
我知道大体的思路就是这样,有大哥能结合jpg文件格式说说具体的做法吗?哪些东西可以直接从源文件中复制,哪些需要处理?
乐CC 2010-11-27
  • 打赏
  • 举报
回复
其中一个提取出来的话,就只能遍历查找了,可是你说的内存太小,那就只有不停的载入,释放,使用一个类似循环队列的机制,应该可以解决。
科技完美生活 2010-11-27
  • 打赏
  • 举报
回复
不知道你内存有多小,还是你使用用问题
zenny_chen 2010-11-27
  • 打赏
  • 举报
回复
可以看看JPEG编解码。如果你要解码的话,那么必须通过霍夫曼解码、反量化等步骤。

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧