Mih*_*hir -2 java image image-processing java-2d
我想尝试最多3倍的比例图像.
例如,

放大图像

我正在使用此库进行图像大小调整.
以下代码剪切了诀窍,
public static BufferedImage getScaledSampledImage(BufferedImage img,
int targetWidth, int targetHeight, boolean higherQuality) {
ResampleOp resampleOp = new ResampleOp(targetWidth, targetHeight);
resampleOp.setUnsharpenMask(AdvancedResizeOp.UnsharpenMask.Normal);
BufferedImage rescaledImage = resampleOp.filter(img, null);
return rescaledImage;
}
Run Code Online (Sandbox Code Playgroud)
您可以看到调整后的图像质量较低.我希望我可以将图像缩放至少3倍于原始图像,而不会丢失质量.
是Pposible吗?我是否需要更改现有的库?
谢谢
事实是,当您向上扩展图像时,它必须创建没有图像的数据.(粗略地说).为此,您必须在现有像素之间进行插值以填充新像素.您可以通过尝试不同类型的插值来获得更好的结果 - 但对于不同类型的图像,最佳方法将是不同的.
由于您的样本图像只是正方形,因此最近邻插值可能会为您提供最佳结果.如果你要放大一个风景图像或者一个肖像,你需要一个更聪明的算法.
结果很少看起来很完美,如果可能的话,最好从更大的图像开始!
看看这里,了解问题.http://en.wikipedia.org/wiki/Image_scaling#Scaling_methods