当前位置: 首页 > 知识库问答 >
问题:

使用Matlab的压缩比(图像)

阙新觉
2023-03-14

使用blockproc和Cosinus离散变换(DCT)和阈值,我在Matlab中压缩了一幅图像。

我需要找到压缩比,这可能不难找到。

它应该是压缩图像中的位数/原始图像中的位数。

使用位深度,我无法获得有效的压缩比。。

f1 = @(block_struct) dct2(block_struct.data);
f2 = @(block_struct) idct2(block_struct.data);

I=imread('autumn.tif','tiff');
Im=rgb2gray(I);

J = blockproc(Im, [8 8], f1);
seuil = find(abs(J) < 15);
J(seuil) = zeros(size(seuil));
K = blockproc(J, [8 8], f2) / 255;
subplot(2,2,2)
imshow(K);

如何使用Matlab找到压缩比?


共有1个答案

敖毅
2023-03-14

首先,您需要定义压缩比。

我们同意压缩比是原始图像中的位数除以压缩图像中的位数。由于所有值(DCT系数)都由相同的固定比特数表示,因此可以通过计算系数数而不是比特数来推断压缩比。

在原始图像中,系数的数量是numel(J),而在压缩图像中是numel(seuil)。因此,该图像的压缩比为:

compression_ratio = numel(J) / numel(seuil)

例如,假设您的图像尺寸为640×480,seuil包含低于阈值的100000个索引值。因此,您的压缩比为640*480 / 100000 = 3.072

 类似资料:
  • 请务必理解如下章节后阅读此章节: 安装 Node 和 gulp 使用 gulp 压缩 JS 访问论坛获取帮助 压缩 图片文件可降低文件大小,提高图片加载速度。 找到规律转换为 gulp 代码 规律 找到 images/ 目录下的所有文件,压缩它们,将压缩后的文件存放在 dist/images/ 目录下。 gulp 代码 你可以 下载所有示例代码 或 在线查看代码 一、安装 gulp-imagemi

  • 我一直在计算图像的未压缩和压缩文件大小。这对我来说总是导致压缩图像比我预期的未压缩图像小。如果图像包含大量不同的颜色,则存储调色板会占用大量空间,还需要更多位来存储每个代码。然而,我的问题是,压缩方法是否可能导致比未压缩的RGB图像更大的文件。对于这种压缩方法仍然有用的、总共包含k种不同颜色的最小正方形RGB图像,其大小(像素)是多少?因此,我们想要找到,对于给定的k值,找到最小整数n,对于该整数

  • 从pagespeed中,我只获得了图像链接和可能的优化(以字节为单位) 例如,我有大小为300kb的图像,对于该图像,pagespeed显示100kb 这只是一个图像,但我相信我会有很多图像压缩。所以,我如何通过传递字节或百分比作为参数或使用java中的任何其他计算(通过使用API或图像处理工具)来压缩图像,以便获得google建议的图像压缩版本。 提前谢谢。

  • 我试图在MATLAB中使用哈夫曼编码压缩灰度图像,并尝试了以下代码。 我使用了一个大小为512x512的灰度图像,格式为tif。我的问题是压缩图像的大小(压缩码字的长度)比未压缩图像的大小越来越大。压缩比小于1。

  • 本文向大家介绍php实现等比例压缩图片,包括了php实现等比例压缩图片的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了php实现等比例压缩图片的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍php gd等比例缩放压缩图片函数,包括了php gd等比例缩放压缩图片函数的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了php gd等比例缩放压缩图片函数,供大家参考,具体内容如下 php and gd 函数参考表 gd_info 取得当前安装的 GD 库的信息 getimagesize 取得图像大小 getimagesizefromstring Get the s