Comment trouver la corrélation d'une image?

Il y a une image A de taille fixe 256*256*3 (RVB). La formule mathématique pour la covariance entre deux pixels adjacents valeurs x,y dans une image est populairement connu pour être:

cov(x,y) = 1/n summation from i = 1 to n of [E(x_i-E(x))(y_i-E(y))]

r_xy = cov(x,y) / (sqrt(D(x)*D(y)))

D(x) = 1/n summation  from i = 1 to n of square[(x_i - E(x))]

E(x) = 1/n summation from i = 1 to n of (x_i)

r_xy est les coefficients de corrélation entre les deux, horizontalement, verticalement et en diagonale les pixels adjacents de ces deux images.

Q1: Comment faire le calcul ci-dessus dans MATLAB?

T2: Comment choisir au hasard dire 5000 paires de deux horizontalement pixels adjacents de l'image et ensuite le tracé de la distribution de ces deux pixels adjacents horizontalement?

  • Est-ce un devoir?
  • hmm,en quelque sorte. Je suis conscient des commandes corrcoef et de cov dans matlab. Mais ce que je veux, c'est d'obtenir une seule valeur numérique(peut être à virgule flottante) de la valeur que je ne suis pas arriver. Comment faire pour obtenir une seule valeur numérique à l'aide de cette? Souhaite aussi à l'intrigue de la série de chiffre valeurs sur un graphique avec les valeurs de gris des pixels de l'emplacement (x,y) sur l'Axe des X et les valeurs de gris des pixels de l'emplacement (x+1,y) sur l'Axe des ordonnées.
  • Question d'origine de l'OP commencé ici stackoverflow.com/q/3690246/404469
  • Cette question a été posée après celui-ci.
  • Mon erreur, j'ai vu que la première.
InformationsquelleAutor Sm1 | 2010-09-11