小编rho*_*hon的帖子

用Java编写的Floyd-Steinberg算法

我正在尝试用Java实现Floyd Steinberg算法,使用java.awt.image.BufferedImage.

我使用了这里描述的算法 和自定义调色板,我希望得到或多或少与维基百科示例中相同的图像(或者由Gimp生成的图像)​​,但是我得到了一个非常不同的版本.

你可以看到我得到的东西

在此输入图像描述

我显然缺少一些东西(输出图像的颜色不属于我的调色板),但我无法弄清楚是什么.

我做错了什么?

这是代码:

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.awt.image.IndexColorModel;
import java.io.File;
import java.io.IOException;

public class FloydSteinbergTest {

private static final Color[] PALETTE = new Color[]{
        new Color(221, 221, 221),
        new Color(19, 125, 62),
        new Color(179, 80, 188),
        new Color(107, 138, 201),
        new Color(177, 166, 39),
        new Color(65, 174, 56),
        new Color(208, 132, 153),
        new Color(64, 64, 64),
        new Color(154, 161, 161),
        new Color(46, 110, 137),
        new Color(126, 61, 181),
        new Color(46, …
Run Code Online (Sandbox Code Playgroud)

java algorithm image-processing java-2d

1
推荐指数
1
解决办法
2180
查看次数

标签 统计

algorithm ×1

image-processing ×1

java ×1

java-2d ×1