gpt4 book ai didi

java - 不清楚数组的使用 比预定义更多的元素

转载 作者:行者123 更新时间:2023-12-01 12:24:54 26 4
gpt4 key购买 nike

我必须遵循从完整引用中获取的代码

关于以下语法:-“hist[y]++; ”出现在那里它是关于创建 img 亮度值的直方图。

我想知道它在代码中的含义,因为 hist[] 被定义为 int[256] ,而这里的迭代比 256 大得多。

int hist[] = new int[256];   <<<<<<<<defined here 256 elements

...

for (int i=0; i<iw*ih; i++) {
int p = pixels[i];
int r = 0xff & (p >> 16);
int g = 0xff & (p >> 8);
int b = 0xff & (p);
int y = (int) (.33 * r + .56 * g + .11 * b);
hist[y]++; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<here many more elements
}

等等。等等..

最佳答案

hist[y]++; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< here many more elements

您可能混淆了表达式 hist[y]++hist[y++]或令人困惑y循环索引 i .

表达式hist[y]++只需增加索引 y 处的值一个。索引y在上面的行中设置为

int y = (int) (.33 * r + .56 * g + .11 * b);

r , gb都是<= 255 y的最大值是

  .33*255 + .56*255 + .11*255
= (.33 + .56 + .11) * 255
= 1 * 255

因此 256 个元素的数组就足够了。

关于java - 不清楚数组的使用 比预定义更多的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26441619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com