首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于图像压缩算法的混乱

关于图像压缩算法的混乱
EN

Stack Overflow用户
提问于 2011-08-01 01:48:52
回答 5查看 3.6K关注 0票数 1

我一直在看Image Compression (Lossy and Non-lossy)上的一个网页。

现在这是我的问题,我成功地使用opencv制作了一个关于人脸检测的项目-然而-我的项目向导并不满意-我的项目只是从捕获设备网络摄像头捕获帧,并在函数中传递帧以检测这些帧中的人脸,并在Windows中输出检测帧。

我的项目向导希望我实现一些图像压缩或变形等算法,但看到如此大量使用该库并不高兴。

那么,我想知道的是--是否可以使用C或C++图像压缩算法进行编码?如果是,代码大小不是很大吗?(我的项目应该是一个小项目)

请帮帮我,假设我想用C++使用RLE压缩,我该怎么做呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-01 01:52:38

你想发明自己的图像压缩,还是实现一个标准的压缩?(我假设这是针对某种类/任务的,在现实世界中您不会这样做!)

你可以使用像Run-Length这样的东西来压缩一些简单的图像,特别是如果你可以减少颜色的数量。卡通或图形,但对于真正的照片风格的图像,它不会工作-这就是为什么像jpeg或小波这样的复杂有损技术被发明出来。

票数 2
EN

Stack Overflow用户

发布于 2011-08-01 01:54:06

这是非常有可能的,而且RLE压缩非常容易。如果您想看一种相对简单的、不会使用大量代码的RLE方法,那么可以看一下实现一个版本的packbits

这里还有另一个链接:http://michael.dipperstein.com/rle/index.html (包括一个包含传统RLE和packbits源代码的实现)

顺便说一句,请记住,对于有噪声的数据,使用RLE方案实际上可能会得到比未压缩的更多的数据。对于大多数“真实世界”的图像,虽然应用了某种形式的低通滤波和相对较好的信噪比(即,超过40db),您应该预期压缩比约为1.5:1到1.7:1。

无损压缩的另一种选择是哈夫曼编码...该算法对噪声图像的容忍度更高,因为当使用RLE压缩算法编码时,它通常可以防止那些类型的图像可能发生的数据扩展。

最后,您没有提到您是在处理彩色图像还是灰度图像……如果是彩色图像,请记住,如果您压缩平面颜色通道图像中的每个颜色通道,而不是试图压缩连续的RGB数据,您将发现冗余要大得多。

票数 1
EN

Stack Overflow用户

发布于 2011-08-01 01:57:21

您希望使用空间填充曲线或空间索引实现基于颜色减少的压缩。A si将二维复杂度降低到一维复杂度,它看起来像一个四叉树,有点像一个分形。你想看看尼克的希尔伯特曲线四叉树空间索引博客!

这是另一个有趣的RLE编码思想:Lossless hierarchical run length encoding。也许这就是你想要的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6891183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档