gpt4 book ai didi

java - 查找二维数组或直方图的两个主要峰值和峰值之间的谷值

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:00 25 4
gpt4 key购买 nike

for (int i = 0; i < c.length; i++)
{
for(int j=0; j<c[i].length;j++)
{
if(peak1[i]<c[i][j]){
peak1[i] = c[i][j];
peak1loc1[i]= j;
}
}


println(peak1[2]);
println(peak2[2]);`

这是我到目前为止尝试过的。出于某种原因,peak1peak2 打印了相同的值。

我有一个二维数组,用于保存图像的 RGB 颜色值。我想找到每个 channel (r、g、b)的两个主要峰值,以及这两个主要峰值之间的谷值,所以我将得到红色的两个主要峰值、绿色的两个主要峰值、蓝色的两个主要峰值和一个谷(主要峰之间的最小值),所以总共三个谷。

是否有任何算法可以解决这个问题,或者任何人都可以给我一些如何找到这些的想法吗?伪代码会很有帮助。

最佳答案

也许是这样的?

import java.util.*;
color[][] c = new color [10][2];


void setup() {
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[0].length; j++) {
c[i][j] = color(random(255), random(255), random(255));
}
}

float[] reds = new float[c.length*c[0].length];

for (int i = 0; i < reds.length; i++) {
if ( i < c.length)
reds[i] = red(c[i][0]);
else
reds[i]=red(c[i-c.length][1]);
}
println("\n unsorted red values");
println(reds);
Arrays.sort(reds);
println("\nSORTED");
println(reds);

println("\n\n the bigger red value is: " + reds[reds.length-1]);
println("\n the 2nd bigger red value is: " + reds[reds.length-2]);
println("\n the smaller red value is: " + reds[0]);
println("\n\n cheers");
}

关于java - 查找二维数组或直方图的两个主要峰值和峰值之间的谷值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18570557/

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