Encontrar dos picos principales y los valles entre los picos de una matriz 2D o histograma

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]);`

Esto es lo que he intentado hasta ahora. Por alguna razónpeak1 ypeak2 Están imprimiendo los mismos valores.

Tengo una matriz bidimensional que contiene valores de color RGB de una imagen. Quiero encontrar dos picos principales de cada canal (r, g, b) y el valle entre estos dos picos principales, así que obtendré dos picos principales para el rojo, dos picos principales para el verde, dos picos principales para el azul y valle (el valor más pequeño entre los picos principales), por lo que tres valles en total.

¿Hay algún algoritmo para esto o alguien puede darme algunas ideas de cómo puedo encontrarlas? Un pseudocódigo sería muy útil.

Respuestas a la pregunta(1)

Su respuesta a la pregunta