gpt4 book ai didi

java - 使用 Java 库 imgsclr 调整图像质量问题

转载 作者:行者123 更新时间:2023-11-29 05:10:40 25 4
gpt4 key购买 nike

当我仅尝试使用 imgsclr 4.2( http://www.thebuzzmedia.com/imgscalr-3-2-released/comment-page-1/#comment-650387) 将图像调整为特定的宽度和高度时,我遇到了质量问题。

我有一张 240X320 的图片,我必须将其大小调整为 50X75 和 120X180 。我使用以下代码分别尝试了这两种方法(我使用的是 imgscalr 4.2)。

image=resize(image,Method.ULTRA_QUALITY, 50,75, OP_ANTIALIAS, OP_BRIGHTER);
saveImage(image, ImageFormatTypes.JPEG, DESTINATION + RESIZED_IMAGE + “.”+ImageFormatTypes.JPEG);

我有两个问题。与我用来手动调整图像大小的其他内部工具相比,#1 的质量非常低。 #2。输出的宽度从 50 增加到 56,从 120 增加到 135,这很奇怪。

你知道为什么会这样吗?我感谢您的帮助。 Original Image Resized Image

最佳答案

我认为核心问题不在于 imgsclr,而在于 jpg 的选择。请记住,jpg 使用基于损失的算法,转储部分图像以减小其大小。

为了比较,下面的两张图片是使用相同的方法生成的,但是左边是使用 jpg 输出的,右边是使用 png 输出的(使用 ImageIO API)

Compare

所以最上面的图像是同一个主图像。

第二行是使用 ULTRA_QUALITYAUTOMATICBALANCEDQUALITY 方法的 imgsclr。第二行的最后一张图片使用的是 SPEED

最后一行是一系列“其他”缩放方法。前两个使用分而治之的方法,将图像除以 2,直到达到所需的大小,演示了 here .第一个是“填充”,另一个是“适合”(一个会溢出可用空间,一个会适合)。第三张图片使用的是 Image#getScaledInstance 并且我似乎在某处引入了一个 alpha channel ,因此 jpg 版本是红色的原因,但我正在比较质量 ;)

尺寸增加的原因可能归结为 imgsclr 试图保持图像的纵横比

最后……

enter image description here

这比较BufferedImageOp,使用OP_BRIGHTEROP_ANTIALIASOP_BRIGHTEROP_ANTIALIAS , 从右到左没有...

这些以 PNG 格式输出

关于java - 使用 Java 库 imgsclr 调整图像质量问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com