Un projet qui implique un traitement d'image, c'est-à-dire qui calcule le décalage angulaire de la même image lorsqu'elle est décalée par un milieu ayant un certain indice de réfraction. Nous devons construire une application qui corrèle les 2 images (corrélation phase/2D?) Et ensuite tracer en utilisant Chaco et Mayavi (2 bibliothèques en Python). Existe-t-il un autre logiciel de modèle (FOSS) sur lequel nous pouvons baser notre application ou l'utiliser comme référence?Y a-t-il une bibliothèque de corrélation de phase d'image disponible pour Python?
Répondre
Scipy contient de nombreuses routines de traitement d'image dans son package scipy.ndimage.
utilisant scipy cela devrait être une ligne unique (même si vous pouvez probablement éviter le paquet ndimage)
from scipy.fftpack import fftn, ifftn
corr = (ifftn(fftn(a)*ifftn(b))).real
en supposant que vous avez réussi à lire vos images originales dans des tableaux numpy a & b. Si ce sont des images 2D mayavi pourrait être un peu exagéré, et il serait probablement plus facile d'utiliser matplotlib que chaco. Si vous utilisez matplotlib, vous pouvez faire le tout avec
from pylab import *
corr = (ifftn(fftn(a)*ifftn(b))).real
imshow(corr)
corrélation de phase tel que décrit par http://en.wikipedia.org/wiki/Phase_correlation, pris de https://github.com/michaelting/Phase_Correlation/blob/master/phase_corr.py.
def phase_correlation(a, b):
G_a = np.fft.fft2(a)
G_b = np.fft.fft2(b)
conj_b = np.ma.conjugate(G_b)
R = G_a*conj_b
R /= np.absolute(R)
r = np.fft.ifft2(R).real
return r
Voici un exemple: Nous prenons deux images similaires, mais de différentes phases et tracer la corrélation de phase (une image en noir avec un seul point blanc à la différence de phase appropriée).
from scipy import misc
from matplotlib import pyplot
import numpy as np
#Get two images with different phases
im1 = misc.lena()
im2 = np.zeros_like(im1)
im2[:200,:200] = im1[-200:, -200:]
pyplot.imshow(phase_correlation(im1, im2), cmap='gray')
pyplot.show()
- 1. Corrélation de phase
- 2. Y at-il une bibliothèque Python pour gérer OWL?
- 3. Y a-t-il une bibliothèque de graphiques open source disponible pour iphone/ipad?
- 4. Bibliothèque Python pour le support HTTP - y compris Content-Encoding
- 5. Y at-il une bibliothèque C++ ou Qt disponible pour mesurer l'utilisation des fonctionnalités d'une application?
- 6. Y a-t-il une bibliothèque python de chiffrement AES qui fonctionnera bien avec python 3.0?
- 7. Comment rendre une bibliothèque cible disponible pour mon application Java?
- 8. Y at-il une intégration disponible pour phing avec netbeans?
- 9. Liaisons Python pour une bibliothèque vala
- 10. Convolution 2D et corrélation 2D basée sur FFT en Python
- 11. Y a-t-il une carte de référence UML disponible?
- 12. Une bibliothèque python pour accéder à des quickbooks?
- 13. corrélation de Pearson en PHP
- 14. Existe-t-il une bonne bibliothèque de diagrammes pour Python?
- 15. Une bibliothèque SSL décente pour Python 2.5
- 16. Algorithme de découverte de corrélation de graphes
- 17. Bibliothèque arithmétique de fonction pour python
- 18. Bibliothèque comme fakeweb pour Python
- 19. Connaissez-vous une bibliothèque de réalité augmentée pour python?
- 20. Structure de répertoire pour une bibliothèque C++
- 21. Y a-t-il une bibliothèque Python pour générer des fichiers .ico?
- 22. Non disponible Bibliothèque partagée - INSTALL_FAILED_MISSING_SHARED_LIBRARY
- 23. Y at-il une base de données de type "Northwind" disponible pour MySQL?
- 24. Y at-il bibliothèque de services de synchronisation pour iPhone
- 25. Comment obtenir une préférence pour la corrélation avec une variable?
- 26. Phase de liaison dans distcc
- 27. Python: existe-t-il une boucle de type C disponible?
- 28. Y a-t-il une bibliothèque de cryptographie Erlang pure avec un support pour AES?
- 29. Bibliothèque de Markdown Python sécurisée
- 30. Corrélation de texte dans MySQL
Juste quelques conseils pratiques, n'oubliez pas d'appliquer d'abord un fenêtrage approprié sur les images d'entrée. Voir Hamming 2D ou fenêtres gaussiennes http://stackoverflow.com/questions/7687679/how-to-generate-2d-gaussian-with-python. –