Il s'agit de l'expression mathématique pour la détection des coins Harris:
Mais j'ai les doutes suivants:
- Quelle est la signification physique de et v ? De nombreuses références indiquent que c'est l'ampleur du décalage de la fenêtre w . Alors, combien la fenêtre est-elle décalée? Un pixel ou deux pixels?
- La somme des positions des pixels est-elle couverte par la fenêtre?
- En supposant simplement que , I ( x , y ) est l'intensité du pixel unique en ( x , y ) ou la somme des intensités à l'intérieur de la fenêtre avec un centre en ( x , y ) ?
- Selon wiki, ils disent que l'image est 2D, notée I et demande ensuite de considérer un patch d'image sur la zone , puis utilise la notation I ( x , y )
Je trouve confus de saisir l'explication mathématique. Quelqu'un a une idée?
image-processing
opencv
linear-algebra
rotation_image
la source
la source
Réponses:
Le sens de cette formule est vraiment assez simple. Imaginez que vous preniez deux petites zones de même taille d'une image, la bleue et la rouge:
La fonction de fenêtre est égale à 0 en dehors du rectangle rouge (pour simplifier, nous pouvons supposer que la fenêtre est simplement constante dans le rectangle rouge). Ainsi, la fonction de fenêtre sélectionne les pixels que vous souhaitez regarder et attribue des poids relatifs à chaque pixel. (La fenêtre gaussienne est la plus courante, car elle est symétrique en rotation, efficace pour calculer et accentue les pixels près du centre de la fenêtre.) Le rectangle bleu est décalé de (u, v).
Ensuite, vous calculez la somme des différences au carré entre les parties de l'image marquées en rouge et bleu, c'est-à-dire que vous les soustrayez pixel par pixel, mettez la différence au carré et résumez le résultat (en supposant, pour plus de simplicité, que la fenêtre = 1 dans la zone que nous recherchons) à). Cela vous donne un numéro pour chaque possible (u, v) -> E (u, v).
Voyons ce qui se passe si nous calculons cela pour différentes valeurs de u / v:
Gardez d'abord v = 0:
Cela ne devrait pas surprendre: la différence entre les parties de l'image est la plus faible lorsque le décalage (u, v) entre elles est de 0. Lorsque vous augmentez la distance entre les deux patchs, la somme des différences au carré augmente également.
En gardant u = 0:
L'intrigue semble similaire, mais la somme des différences au carré entre les deux parties de l'image est beaucoup plus petite lorsque vous déplacez le rectangle bleu dans la direction du bord.
Un tracé complet de E (u, v) ressemble à ceci:
L'intrigue ressemble un peu à un "canyon": il n'y a qu'une petite différence si vous déplacez l'image dans la direction du canyon. C'est parce que ce patch d'image a une orientation dominante (verticale).
Nous pouvons faire de même pour un patch d'image différent:
Ici, l'intrigue de E (u, v) est différente:
Peu importe la façon dont vous déplacez le patch, il est toujours différent.
Donc, la forme de la fonction E (u, v) nous dit quelque chose sur le patch d'image
Normalement, vous ne calculez pas du tout E (u, v). Vous n'êtes intéressé que par sa forme au voisinage de (u, v) = (0,0). Vous voulez donc simplement l'expansion de Taylor de E (u, v) près de (0,0), qui en décrit complètement la "forme".
Mathématiquement parlant, il est plus élégant de laisser la plage de sommation sur tous les pixels. Pratiquement parlant, il est inutile de sommer les pixels où la fenêtre est 0.
la source