Así es como me ha quedado el código que calcula el valor de Correlación cruzada que tiene cada ventana de la imagen 1 en relación con las ventanas de la imagen 2.
double valorCorrelacionCruzada=0;
for(int i=0;i<VentanasEnImagen1.size();i++){
valorCorrelacionCruzada = 0;
for(int j=0;j<VentanasEnImagen2.size();j++){
for(int pto=0;pto<VentanasEnImagen1.get(i).ValoresGris.size();pto++){
valorCorrelacionCruzada += (VentanasEnImagen1.get(i).ValoresGris.get(pto)
- VentanasEnImagen2.get(i).IntensidadMediaVentana) *
(VentanasEnImagen2.get(j).ValoresGris.get(pto) - VentanasEnImagen2.get(j).IntensidadMediaVentana)
}
valorCorrelacionCruzada /= (VentanasEnImagen1.get(i).Varianza() * VentanasEnImagen2.get(j).Varianza());
if(valorCorrelacionCruzada > VentanasEnImagen1.get(i).valorCC1()){
VentanasEnImagen1.get(i).setCC1(valorCorrelacionCruzada);
VentanasEnImagen1.get(i).CoordenadaXVentanaCorrelativa = VentanasEnImagen2.get(j).CoordenadaX;
VentanasEnImagen1.get(i).CoordenadaYVentanaCorrelativa = VentanasEnImagen2.get(j).CoordenadaY;
}else{
if(valorCorrelacionCruzada > VentanasEnImagen1.get(i).valorCC2()){
VentanasEnImagen1.get(i).setCC2((valorCorrelacionCruzada);
}
}
}
}
Me gusta esta asignatura, es de las pocas prácticas que ves que se hacen cosas que luego aparecen como opciones en los típicos programas como Photoshop o GIMP (por lo menos la base).


















Post a Comment