新手请教:ARM上能对文件或图片进行压缩么?

[复制链接]
5073|21
 楼主| goldenpark 发表于 2009-2-13 16:15 | 显示全部楼层 |阅读模式
&nbsp;如题~<br />希望传送速度快而且时间短,所以想问问有没有压缩的方法!(比如一幅图片从100k压缩到10k)<br /><br />还有想问下,在ARM上有什么办法可以把好几个文件打包传送的啊?<br />连续拍一组图片一张一张传送实在太耗时了。。。。
computer00 发表于 2009-2-13 16:42 | 显示全部楼层

跟ARM无关(更进一步说,与处理器无关)。

能不能压缩,能压缩到多少,与你图片本身和可以接受的质量有关。
 楼主| goldenpark 发表于 2009-2-13 22:12 | 显示全部楼层

那么压缩的过程是不是可以用C程序实现呢?

图片在ARM上用摄像头拍摄之后以jepg的格式自动保存在目录下,现在希望对这个图片进一步压缩(图片内容很简单,黑底一个亮点,所以进一步压缩应该不会影响很大)!<br />可是在网上没有找到相关压缩的资料(有些资料是将bmp格式的文件转换为jpg格式来达到压缩效果,可是我的这个情况是图像本来就是jpg的!)<br />想问问谁做个这方面压缩的东西&nbsp;用C语言可以实现么?
xwj 发表于 2009-2-13 22:21 | 显示全部楼层

jepg再压缩也压缩不了多少了,只会徒然降低画质

  
computer00 发表于 2009-2-13 22:23 | 显示全部楼层

我看不用再想了,已经压缩成jpg了,再压的可能性非常小

如果你的算法不够好,再压一下体积反而会更大。<br /><br />可以考虑运动图象压缩的方法了,这需要你先解压缩,然后就可以对帧间的大量重复数据压缩掉。当然单独的帧还是需要JPEG压缩。
 楼主| goldenpark 发表于 2009-2-13 22:43 | 显示全部楼层

想不明白了。。。

:)不好意思&nbsp;问个极为外行的问题:为什么我们平时拍的照片即使是jpg格式的都可以再通过一些软件压缩呢。。。比如拍出来3M压缩之后可能只剩下100k呢?想不明白啊。。。
 楼主| goldenpark 发表于 2009-2-13 22:47 | 显示全部楼层

高人给我提个建议吧!!

ARM上的摄像头在1min之内拍数张照片,这些照片存在目录下特别大,传送起来费时还耗能,有什么办法把它们弄得小一点儿再传啊?有办法么?
computer00 发表于 2009-2-13 22:59 | 显示全部楼层

你用什么软件能把3M的JPG图片压到100K?太猛了吧?

我把一张从相机里拿出来的大小为3,205,187字节(3M)的JPG图片压缩成rar文件,结果变成了3,205,262字节,<br />也就是说几乎没有变化(还增加了几字节,当然它要存储一些附加信息)。<br /><br />JPG图片的几乎不能再压缩了,除非降低质量。你应该考虑相片之间的相关性,才能进一步压缩,找一些运动图象压缩的资料看看吧
xwj 发表于 2009-2-13 23:01 | 显示全部楼层

有可能那个“3M的JPG图片”实际上是BMP格式:-)

  
computer00 发表于 2009-2-13 23:09 | 显示全部楼层

哈哈,如果真是BMP,那也是不复杂的图案,

否则也很难达到1/30的压缩率。
 楼主| goldenpark 发表于 2009-2-14 22:26 | 显示全部楼层

看来是我没表达清楚:)

奥~呵呵&nbsp;我说的是那种:就类似于在windows下我的一张照片要传上网&nbsp;可是有限制大小的&nbsp;必须把照片压缩一些(刚才问了别人一下&nbsp;这种压缩其实就是压缩分辨率——看来我是个外行中的外行)<br />那我现在要是想实现这种呢&nbsp;其实就是降低质量了。。。能实现么?拍了图片&nbsp;存下来&nbsp;再压缩传送!(主要图片就是很简单的那种&nbsp;所以我想要是降低了分辨率应该也没什么问题~)
 楼主| goldenpark 发表于 2009-2-14 22:28 | 显示全部楼层

有可能那个“3M的JPG图片”实际上是BMP格式:-)?怎么说?

  
xwj 发表于 2009-2-14 22:39 | 显示全部楼层

象现在较好的800万像素的相机的照片也大多不到1M/张

你的是什么相机呢???<br /><br />图片分辨率越小当然尺寸越小,但减低分辨率和“压缩的方法”有什么关系啊???<br />你的主贴一开始就说错了。
computer00 发表于 2009-2-14 22:41 | 显示全部楼层

降低分辨率简单啊,其实就是缩小图片。

每隔几个点抽取一个点就行了。或者考虑其它一些算法,例如几个点合起来取平均值当作一个点。<br />例如原来是100*100的,你现在每隔10个抽取一个相速,就是10*10的了。只剩下了1/100。
computer00 发表于 2009-2-14 23:07 | 显示全部楼层

老X不对哦,600万像素的照片,一般都有3M左右的哦...

800万的照片一般要4M左右吧。
mylovetus 发表于 2009-2-15 09:53 | 显示全部楼层

呵呵,两位大师在给一位后进猛普及知识啊

估计楼主问的可能是性能相关的问题<br />就是在ARM下能不能做实时的图象(视频)处理.<br />RAM空间多大?<br />图片多大?<br />图片处理速率要求多快?&nbsp;30fps?<br />系统时钟频率多大?<br />
 楼主| goldenpark 发表于 2009-2-15 11:28 | 显示全部楼层

computer00 应该是说对了!!嘿嘿

我就是那么想的啊~~呜呜&nbsp;就是比较有歧义可能!<br />我的意思就是说舍弃一些分辨率让照片小一些!(我称之为压缩。。。呵呵)应该就是用你说的那种方法。。。那样的话是说不怎么复杂么?用C编个程序能实现么?还是用个什么辅助的图像处理工具呢?<br /><br /><br /><br />
 楼主| goldenpark 发表于 2009-2-15 11:29 | 显示全部楼层

mylovetus说的“实时”。。。问问

mylovetus说的“实时”是不是那种我直接照出来的照片就是那么小的啊?(理解错误千万别笑我啊~实在外行。。。)这种实现起来难度咋样呢?
 楼主| goldenpark 发表于 2009-2-19 16:20 | 显示全部楼层

听说opencv可以进行图像处理!

opencv的功能貌似挺强大的呢。。。里面好像有函数直接实现图像的缩放。。。我以前傻傻的以为缩放只是图像画面大小变小了&nbsp;而所占空间(kb<br />)没变化。。。
Many工作室 发表于 2009-2-24 00:04 | 显示全部楼层

咱们觉得压缩的跟像素就是一回事

咱们觉得压缩就是利用算法将文件有损或无损地处理,以达到保留最多文件信息,而令文件体积变小。而减少像素,就能使文件或图片变小。说白了,减少像素只是压缩的一种方法。而说到ARM上能不能对文件或图片进行压缩,我觉得哦(虽然本人不清楚),既然自己所用到的PC能压缩,那ARM应该也行,可能要求片子的速度高而已,但具体怎么实现,我也不懂。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

29

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部