java - java中的直方图计算

标签 java image histogram

我尝试创建一个计算图像直方图的程序。我已经得到了上面的代码,但我不明白为什么它不起作用。

    public void hist(List<Integer> r, List g, List b){

    int count[] = new int [256];

    int rSize = r.size();
    int gSize = g.size();
    int bSize = b.size();


    for (int j = 0; j<=255; j++){

        for(int i = 0; i < rSize; i++){

        if( r.get(i) ==  j ){}

            //System.out.println(r.get(i) ==  j);

            count[j]++;

        }
    }

    for (int i = 0; i < count.length; i++) {

        System.out.print(count[i]);

    }
}

如果我在 main 中调用它,count 的每个元素都是 rSize,这是不可能的,因为 r 列表具有图像的红色 channel 的值。

最佳答案

您的 if 为空:if( r.get(i) == j ){}

应该是:

if( r.get(i) ==  j )
{
    count[j]++;
}

下次可能想使用调试器并简单地单步执行代码,这样就可以很容易地发现这一点。

关于java - java中的直方图计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8637547/

相关文章:

java - 如何从多个项目访问公共(public)资源文件

java - 设计中间数据文件的格式?

image - 检测叶子中的脉纹?

r - 查找使用 ggplot2 绘制的直方图的 binwidth

r - 如何更改使用 R 中的 Lattice 包制作的直方图中 x 轴的比例?

java - Web 服务客户端/消费者 - 浏览器或 Webstart/JNLP 或 Swing

java - 用Java反射如何实例化一个新对象,然后调用一个方法就可以了?

android - Android中如何将ByteBuffer转为图片

Android ImageReader 获取 NV21 格式?

python - 具有超过 7 个数据集的 Pyplot 直方图