有人知道Microsoft在Paint中使用了哪种alogirhtm来缩小图片尺寸吗?

我正在尝试开发一些软件(供个人使用)以缩小许多图片的大小(使用Java)。在使用Java函数“NestestNeighbor”,“Bilinear”和“Bicubic”后,结果质量较差...我使用了Lanczos算法,该算法给出了更好的结果,但未达到MS Paint结果:/

注意:使用的Paint版本是Windows 7的版本,我使用的Lanczos实现是Millie项目LanczosResamplePlugin.java的版本之一
和内建的Java来自Graphics2D:

    g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
    g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
    g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
    g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);

如果某人有一个想法可以达到相同的质量结果,那将是有帮助的(对于我得到的图片以及我的知识)。

一些结果在这里:

(我没有发布NN,双线性和双三次结果,这些结果的质量确实很差)

波纹管的风景(在谷歌图片上找到)。原始文件的大小为1680x1050,草在原始文件中确实变尖了(因此Paint结果似乎比Lanczos更好)。

原始图像可以在这里查看:landscape-wallpaper-11a.jpg

Lanczos结果:

image-processing - 图像缩小算法-LMLPHP

vs绘画结果:

image-processing - 图像缩小算法-LMLPHP

另一张下面的图片(个人图片),上面有一些文字。您会注意到,在Lanczos结果中,与在Paint结果中相比,文本的可读性(锐化度)更低。而且,在黑色标题文本和带有白色文本的红色区域之间,在Lanczos结果中存在一些噪点,在Paint结果中不存在。并且在底部,纸上的url在第一个结果上完全模糊/不可读,而在Paint上则可读。

Lanczos结果:

image-processing - 图像缩小算法-LMLPHP

vs绘画结果:

image-processing - 图像缩小算法-LMLPHP

我很奇怪,假设MS使用2种算法:1缩小比例,第2遍以锐化生成的图片?但是,由于最后一个示例中的底部url仍然可读,因此可能不是缩小结果的锐化所导致的...?

谢谢

编辑

好的,我有点愚蠢……图片上的噪音是由于jpeg压缩质量(保存图片时我的Java代码中没有设置)。

下面是png的结果,所以没有噪音。但是结果仍然不可读。

兰佐斯奶酪png

image-processing - 图像缩小算法-LMLPHP

最佳答案

好吧,我想我已经明白了!

实际上,MS Paint(win7)中没有魔术。它必须使用众所周知的Lanczos算法来缩小(或放大?)图像,这似乎是最好的常规重采样算法(似乎在XnView中,我们可以选择重采样算法,这是默认选项)。

因此,我发现了2个其他的Java蕴含,每个蕴含不同的结果:

原始图像:landscape-wallpaper-11a.jpg

来自Milli项目here

  • Lanczos
    image-processing - 图像缩小算法-LMLPHP
  • 来自“atyou”日本博客的
  • Lanczos here
    image-processing - 图像缩小算法-LMLPHP
  • 来自“zattonaka”日本博客的Lanczos here
    image-processing - 图像缩小算法-LMLPHP
  • 来自MS Paint Win7的
  • Algo(Lanczos?)
    image-processing - 图像缩小算法-LMLPHP

  • 我的第二张结果来自我的个人照片之一:
  • 来自Milli项目here
    image-processing - 图像缩小算法-LMLPHP
  • 来自“atyou”日本博客here
    image-processing - 图像缩小算法-LMLPHP
  • 来自“zattonaka”日本博客here
    image-processing - 图像缩小算法-LMLPHP
  • 来自MS Paint Win7的
  • Algo(Lanczos?)
    image-processing - 图像缩小算法-LMLPHP

  • 项目列表3中的结果似乎是最接近“绘画”结果的结果(但不相同)。它具有清晰易读的文本(第二次测试)和锋利的草丛(如原始图像)(第一次测试)。

    如前所述,Moreovoer(我的问题的编辑部分)说,噪声是由于保存时的jpeg压缩引起的。上面的结果以PNG格式显示,因此不会受到jpeg伪像压缩的影响。

    关于image-processing - 图像缩小算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31873215/

    10-11 16:12