问题标签 [image-compression]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
53091 浏览

java - 在 Java 中使用 ImageIO 设置 jpg 压缩级别

我正在使用javax.imageio.ImageIO将 a 保存BufferedImage为 jpeg 文件。特别是,我创建了以下 Java 函数:

与任何图像处理软件一样,我希望更改 jpeg 文件的压缩级别。但是,我正在寻找似乎在ImageIO.

我可以设置压缩级别吗?如何设置?

0 投票
4 回答
1502 浏览

bitmap - 是否可以在不损失质量的情况下将由 JPG 制成的 BMP 重新编码回 JPG?

有时我将 JPG 图像保存为未压缩的位图 (BMP/PNG),以便在更改图像时保持质量。

我想知道,理论上是否可以将位图重新编码回其原始 JPG 格式,而不会损失任何质量(我编辑的区域除外)?

编辑:我正在考虑以某种方式强制它找到该 BMP 数据块的原始 JPG 信息设置,从而从 BMP(之前是 JPG)生成 JPG,与原始 JPG 没有任何区别。我对 JPG 格式的了解还不够,不能说它是否可能,但我想不出为什么不,至少在有限的时间内你可以蛮力 8x8 块?

0 投票
0 回答
852 浏览

algorithm - Qt-如何调整和压缩图像文件以供运行时使用

我正在使用 qt 创建一个桌面应用程序,它分析图像文件以提取主要颜色列表。我必须逐个像素地检查图像(通过一些像素跳跃来加快速度)。像素读取算法为O( n^2 )。对于大图像,这听起来很可怕!

考虑通过在运行时减小图像的绝对大小来压缩图像,然后运行像素读取算法。但是我很难在 Qt 中找出绝对的图像大小调整过程(优化)。我玩了重新缩放程序

使用它我成功地将图像缩小到 200px X 200px。但这不是我想要的。它需要缩小到 200 像素,同时减小临时文件的大小。

任何建议/建议都会很棒!

PS-我将颜色散列到桶中以读取像素,然后搜索局部最大值以找出主要颜色。如果您对此有更好的算法,请帮助我:)

谢谢你的时间!

0 投票
1 回答
6050 浏览

compression - 如何将 YUV422(子采样)转换为 YUV?

我正在为每一帧使用 JPEG 压缩技术编写视频编解码器。到目前为止,我已经对 YUV、DCT 和量化 DCT(编码和解码)进行了编码。我也已经编码了 YUV422 编码,但我不明白如何进行逆向(解码)。

为了计算每个像素的 YUV,我使用了以下等式:

编码:

解码:

这个方程做得很完美。

现在要进行子采样编码,我将图像编码为 YUV,计算 2 个相邻像素的总和,然后将结果除以 2。结果是为 2 个像素设置的。

前任 :

为简单起见,我将采用 0 到 255 之间的像素值(不使用 RGB 分量)。

就在下面:2个具有相同结果的示例。

如果我将这个方程应用于我的 YUV 图像的所有像素,我会得到一个新图像,但这次是在 YUV422 子采样中编码的。

所以我想知道如何从 YUV422 图像中取回 YUV 图像。我上面的例子表明,不可能取回原始的 YUV 图像,因为有很多组合会导致相同的结果(此处为 10)。但是,我认为有一种方法可以获得、给予或获取一些相同的原始 YUV 像素值。有人可以帮助我吗?我真的迷路了。非常感谢您的帮助。

0 投票
1 回答
719 浏览

php - 使用 imagick 优化缩略图 png 文件

我使用下面的代码来创建图像的缩略图,但是当我在缩略图之后使用 png 透明背景时,结果(按数据大小)比原始文件大得多。

和 imagick 优化效果不佳。我尝试了所有网站和本网站的所有答案,但问题无法解决。

0 投票
1 回答
738 浏览

android - 在图像上写文本而不增加大小?

我正在图像上写一些将被压缩的文本。

图像 sie2048 x 1536东西 px

我第一次尝试先写它会抛出OutOfMemory Exception

然后我首先将其压缩为1024 x 768

然后在图像上写文字

它将图像 KB 从100KB增加到640KB

在写文字时,我compromise可以Image quality but not the text Quality

设置为文本的压缩质量 30 也可以downsample

问题:

  1. 是否有任何过程write then compressCompress then Write
    文本而不更改 ImageSize(以 KB 为单位)?

  2. 我希望图像大小(以 KB 为单位)尽可能小?

  3. 而且当 inSampleSize 设置为 3 时,它不起作用,并且只有使用 1 、 2 、 4 的 2048 、 1024 、 512 的图像被创建为输出,我想要一些尺寸的图像在 700px 左右保持纵横比。

代码:

冲压图像的方法


正则压缩方法

图像样本 上面写有文字的示例图像

也可以看看

我关注的一些有用的链接

如何在 Java (Android) 中的图像上写入文本

在 Android 中生成带有自定义文本的图像

在从独立相机捕获的图像上绘制文本(时间戳)

0 投票
1 回答
3583 浏览

java - 如何在不损失质量的情况下从图像 (JPG) 中删除元数据?

我已经在 Stackoverflow 上找到了这个几乎相似的问题:

如何从 Java 中的 JPEG 图像中删除元数据?

但是当我使用上述方法时,保存的图像正在被压缩。有什么方法可以在不压缩图像的情况下删除元数据?有没有可以在我的 Java 程序中使用的库?

0 投票
1 回答
571 浏览

optimization - 使用 ImageOptim 进行*无损* PNG 优化会产生不同颜色的图像

谷歌的 PageSpeed 工具告诉我优化我的 PNG 图像,这些图像是在 Photoshop 中为网络保存的。在研究了无损 PNG 压缩选项后,我下载了 ImageOptim 并通过它放置了一些图像。结果的颜色与原始颜色大不相同,这似乎表明这种压缩实际上是有损的。有什么建议么?

原图:

原始图像

ImageOptim 之后:

ImageOptim 之后

0 投票
1 回答
4981 浏览

imagemagick - 如何使用 Imagemagick 的转换工具将 .tiff/.bmp 转换为 JPEG-XR?

我正在使用convertimagemagick 的工具将图像转换为 jpeg-xr 格式。

我在 debian linux 下使用最新版本(ImageMagick-6.8.6-8)。

问题是convert -format jxrconvert -format wdp产生与我的源图像相同的格式并且没有有效的 jpeg-xr 文件。我的-format参数错了吗?我没有找到任何关于它的信息

提前致谢

0 投票
2 回答
569 浏览

c++ - 对高度冗余的数据使用什么压缩算法

该程序使用套接字传输高度冗余的 2D 字节数组(类似图像)。虽然传输速率​​相对较高(10 Mbps),但阵列也是高度冗余的(例如,每行可能包含几个因此相似的值)。我已经尝试过 zlib 和 lz4,结果很有希望,但是我仍然想到了一种更好的压缩方法,请记住它应该像 lz4 一样相对较快。有什么建议么?