打印

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

[复制链接]
3500|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
goldenpark|  楼主 | 2009-2-13 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
computer00| | 2009-2-13 16:42 | 只看该作者

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

能不能压缩,能压缩到多少,与你图片本身和可以接受的质量有关。

使用特权

评论回复
板凳
goldenpark|  楼主 | 2009-2-13 22:12 | 只看该作者

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

图片在ARM上用摄像头拍摄之后以jepg的格式自动保存在目录下,现在希望对这个图片进一步压缩(图片内容很简单,黑底一个亮点,所以进一步压缩应该不会影响很大)!
可是在网上没有找到相关压缩的资料(有些资料是将bmp格式的文件转换为jpg格式来达到压缩效果,可是我的这个情况是图像本来就是jpg的!)
想问问谁做个这方面压缩的东西 用C语言可以实现么?

使用特权

评论回复
地板
xwj| | 2009-2-13 22:21 | 只看该作者

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

使用特权

评论回复
5
computer00| | 2009-2-13 22:23 | 只看该作者

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

如果你的算法不够好,再压一下体积反而会更大。

可以考虑运动图象压缩的方法了,这需要你先解压缩,然后就可以对帧间的大量重复数据压缩掉。当然单独的帧还是需要JPEG压缩。

使用特权

评论回复
6
goldenpark|  楼主 | 2009-2-13 22:43 | 只看该作者

想不明白了。。。

:)不好意思 问个极为外行的问题:为什么我们平时拍的照片即使是jpg格式的都可以再通过一些软件压缩呢。。。比如拍出来3M压缩之后可能只剩下100k呢?想不明白啊。。。

使用特权

评论回复
7
goldenpark|  楼主 | 2009-2-13 22:47 | 只看该作者

高人给我提个建议吧!!

ARM上的摄像头在1min之内拍数张照片,这些照片存在目录下特别大,传送起来费时还耗能,有什么办法把它们弄得小一点儿再传啊?有办法么?

使用特权

评论回复
8
computer00| | 2009-2-13 22:59 | 只看该作者

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

我把一张从相机里拿出来的大小为3,205,187字节(3M)的JPG图片压缩成rar文件,结果变成了3,205,262字节,
也就是说几乎没有变化(还增加了几字节,当然它要存储一些附加信息)。

JPG图片的几乎不能再压缩了,除非降低质量。你应该考虑相片之间的相关性,才能进一步压缩,找一些运动图象压缩的资料看看吧

使用特权

评论回复
9
xwj| | 2009-2-13 23:01 | 只看该作者

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

使用特权

评论回复
10
computer00| | 2009-2-13 23:09 | 只看该作者

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

否则也很难达到1/30的压缩率。

使用特权

评论回复
11
goldenpark|  楼主 | 2009-2-14 22:26 | 只看该作者

看来是我没表达清楚:)

奥~呵呵 我说的是那种:就类似于在windows下我的一张照片要传上网 可是有限制大小的 必须把照片压缩一些(刚才问了别人一下 这种压缩其实就是压缩分辨率——看来我是个外行中的外行)
那我现在要是想实现这种呢 其实就是降低质量了。。。能实现么?拍了图片 存下来 再压缩传送!(主要图片就是很简单的那种 所以我想要是降低了分辨率应该也没什么问题~)

使用特权

评论回复
12
goldenpark|  楼主 | 2009-2-14 22:28 | 只看该作者

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

使用特权

评论回复
13
xwj| | 2009-2-14 22:39 | 只看该作者

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

你的是什么相机呢???

图片分辨率越小当然尺寸越小,但减低分辨率和“压缩的方法”有什么关系啊???
你的主贴一开始就说错了。

使用特权

评论回复
14
computer00| | 2009-2-14 22:41 | 只看该作者

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

每隔几个点抽取一个点就行了。或者考虑其它一些算法,例如几个点合起来取平均值当作一个点。
例如原来是100*100的,你现在每隔10个抽取一个相速,就是10*10的了。只剩下了1/100。

使用特权

评论回复
15
computer00| | 2009-2-14 23:07 | 只看该作者

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

800万的照片一般要4M左右吧。

使用特权

评论回复
16
mylovetus| | 2009-2-15 09:53 | 只看该作者

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

估计楼主问的可能是性能相关的问题
就是在ARM下能不能做实时的图象(视频)处理.
RAM空间多大?
图片多大?
图片处理速率要求多快? 30fps?
系统时钟频率多大?

使用特权

评论回复
17
goldenpark|  楼主 | 2009-2-15 11:28 | 只看该作者

computer00 应该是说对了!!嘿嘿

我就是那么想的啊~~呜呜 就是比较有歧义可能!
我的意思就是说舍弃一些分辨率让照片小一些!(我称之为压缩。。。呵呵)应该就是用你说的那种方法。。。那样的话是说不怎么复杂么?用C编个程序能实现么?还是用个什么辅助的图像处理工具呢?



使用特权

评论回复
18
goldenpark|  楼主 | 2009-2-15 11:29 | 只看该作者

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

mylovetus说的“实时”是不是那种我直接照出来的照片就是那么小的啊?(理解错误千万别笑我啊~实在外行。。。)这种实现起来难度咋样呢?

使用特权

评论回复
19
goldenpark|  楼主 | 2009-2-19 16:20 | 只看该作者

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

opencv的功能貌似挺强大的呢。。。里面好像有函数直接实现图像的缩放。。。我以前傻傻的以为缩放只是图像画面大小变小了 而所占空间(kb
)没变化。。。

使用特权

评论回复
20
Many工作室| | 2009-2-24 00:04 | 只看该作者

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

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

29

帖子

0

粉丝