何我们可以实现一元压缩方法和matlab中创建一元编码器译码器吗?

12个视图(30天)
嗨,我想实现一元压缩方法压缩灰度图片我可以怎么做呢?
我的主要目标是创建一个函数,输出必须压缩率,计算基于原始图像文件的大小和压缩文件的大小。
一个函数为一元一元编码器和另一个译码器。
谢谢你的参与

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2021年11月20日
数学,你可以考虑一个文件的字节的Base 256编码整数。例如如果文件包含241字节217(十进制),那么可以认为数学是241 * 256 + 217的表示……无论这个数字恰好是工作。
一元表示的需要,许多副本的一个象征。例如如果该值为19然后一元将19份象征。:::::::::::::::::::或1111111111111111111。数字的序列的结束停止。所代表的值是由计数符号的数量。
纯粹的一元每宇宙只能代表一个数字。代表两个不同的号码你需要马克一元序列之间的边界,这需要第二个符号。
最小的输入图像文件可以是一个字节,这可能代表一个灰度级的像素强度0到255。(或者可以代表一个像素的rgb图像与3位红色的信息,三个绿色,蓝色和两位)。
你不能写出小于8位到文件中,所以输入的字节范围1到8需要至少一个字节输出,并输入字节的值9和需要更多的输出字节代表在一元。因此你不能使用一元编码器压缩任何东西。
例外:如果你输入图像的一个像素值为0,那么这将是空文件的一元编码,这确实是小。这是 只有 情况下,你可以使用一元压缩。
5个评论

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!