是否有任何方法或外部库可以使用Lanczos(理想情况下)或至少bicubic alg 调整图像大小.Android下?(当然更快更好,但质量优先,处理时间次要)
我到目前为止所做的一切都是这样的:
Bitmap resized = Bitmap.createScaledBitmap(yourBitmap, newWidth, newHeight, true);
Run Code Online (Sandbox Code Playgroud)
然而,它使用双线性滤波器,输出质量很差.特别是如果你想保留细节(如细线或可读文本).
有许多优秀的Java库,例如这里讨论的: Java - 调整图像大小而不会降低质量
但是它总是依赖于Java awt类java.awt.image.BufferedImage,所以它不能在Android中使用.
有没有办法如何更改Bitmap.createScaledBitmap()方法或某些库中的默认(双线性)过滤器,如Morten Nobel的lib,它能够与android.graphics.Bitmap类一起工作(或者有一些原始表示,如评论中指出的@Tron)?
我正在尝试使用Lanczos2实现图像下采样。
但是,除了中心像素外,内核似乎到处都是零(因为sin(pi * x)= 0,如果x是整数)。
因此,如果下采样因子是整数(例如,每个尺寸的输出大小是原始大小的1/2),则Lanczos下采样将产生与最近邻插值完全相同的结果(只是将所有其他像素以2X下采样进行采样) )。
我认为这并非本应如此,所以我的问题是:我想念的是什么?
如何使用lanczos2滤波器进行2倍下采样,预期结果会与仅获取其他所有像素不同吗?
filtering signal-processing image-processing image-scaling lanczos
我想知道是否有任何软件包允许我们使用 Lanczos 过滤器。我找到了其他滤波器,例如巴特沃斯,但我正在寻找兰佐斯低通滤波器。
Lanczos 滤波器与巴特沃斯滤波器有何不同?任何建议或提示表示赞赏。
谢谢。