Sto lavorando a un progetto in cui a un certo punto ho bisogno di confrontare due immagini. Chiunque può aiutarmi con un metodo per farlo ... Con il modo in cui le immagini sono schermate di un Software. ho voluto verificare se le due immagini sono identiche compresi i numeri e le lettere mostrate nell'immagine (screenshot del software) ..codice python per confrontare le immagini in python
risposta
Ci sono i seguenti modi per fare il confronto corretto.
- Il primo è il root-mean-Square Difference #
Per avere una misura di quanto simile due immagini sono, è possibile calcolare la radice-quadratico medio (RMS) Valore del differenza tra le immagini. Se le immagini sono esattamente identiche, questo valore è zero. La seguente funzione utilizza la funzione di differenza e quindi calcola il valore RMS dall'istogramma dell'immagine risultante.
# Example: File: imagediff.py
import ImageChops
import math, operator
def rmsdiff(im1, im2):
"Calculate the root-mean-square difference between two images"
h = ImageChops.difference(im1, im2).histogram()
# calculate rms
return math.sqrt(reduce(operator.add,
map(lambda h, i: h*(i**2), h, range(256))
)/(float(im1.size[0]) * im1.size[1]))
- Un altro è confronto esatto #
Il modo più rapido per determinare se due immagini hanno esattamente lo stesso contenuto è quello di ottenere la differenza tra le due immagini, e quindi calcolare la delimitazione riquadro delle regioni diverse da zero in questa immagine. Se le immagini sono identiche, tutti i pixel dell'immagine differenza sono zero e la funzione del riquadro di delimitazione restituisce Nessuno.
import ImageChops
def equal(im1, im2):
return ImageChops.difference(im1, im2).getbbox() is None
non posso dare una risposta pronta per l'uso, ma io vi punto nella (I pensa) la giusta direzione. Un modo semplice per confrontare due immagini consiste nel fare un hash delle loro rappresentazioni binarie e quindi vedere se quegli hash sono uguali. Un problema con questo è con la funzione di hash che si desidera utilizzare e si deve cercare uno che ha basse probabilità di collisioni, e l'altro è che un file di immagine probabilmente ha i metadati allegati alle informazioni binarie originali, quindi dovrete guardare su come tagliare i metadati per confrontare le immagini usando solo le loro informazioni binarie. Inoltre, non lo so per certo ma probabilmente la rappresentazione binaria di un'immagine codificata in jpg è diversa da un'immagine codificata in png, quindi dovresti esserne consapevole.
sto mantenendo una libreria Python chiamato pyssim che utilizza il metodo Structured Similarity (SSIM) per confrontare due immagini.
Non ha collegamenti Python, ma il programma perceptualdiff è anche fantastico nel confronto di due immagini - e abbastanza veloce.
è il pyssim una sorta di paragone fuzzy? e se ci fosse una scatola di testo in un'immagine, le posizioni delle scatole sono uguali a un'altra immagine, ma il testo è leggermente diverso? Quale punteggio sarebbe restituito? considera solo le strutture? – user299709
Se il testo è diverso, avrà un punteggio inferiore. – jterrace
- 1. Aprire le immagini? Python
- 2. Come confrontare le versioni Rpm in python
- 3. Come pulire le immagini in Python/Django?
- 4. Come confrontare l'elenco in Python?
- 5. Immagini mezzitoni in Python
- 6. Metodo semplice e veloce per confrontare le immagini per similarità
- 7. Python PIL ValueError: le immagini non corrispondono
- 8. Mostra immagini jpg in python
- 9. Riconoscimento delle immagini in Python
- 10. Python: default/modo comune per leggere le immagini PNG
- 11. come confrontare due array in python?
- 12. Come faccio a lavorare con le immagini in bokeh (Python)
- 13. fsolve su Python (conversione del codice MATLAB per codice Python)
- 14. Come confrontare le immagini per similarità utilizzando java
- 15. python search con immagini google immagini
- 16. Combina diverse immagini in orizzontale con Python
- 17. Codice semplice per FTP Server in python
- 18. Codice sorgente Python per operatore "in" incorporato
- 19. immagini di output in HTML usando python
- 20. Decompile .swf file per ottenere immagini in python
- 21. immagini astronomia impilabile con Python
- 22. Libreria per riordinare codice Python usando le convenzioni pep8
- 23. È possibile confrontare due immagini in Javascript?
- 24. Come confrontare due immagini bordo (in OpenCV)?
- 25. Analisi del codice Python da Python?
- 26. Caricamento immagini di formato 7.5 in python
- 27. Esegui codice php in Python
- 28. Blocchi di codice in python
- 29. Python: Mantenere codice in moduli
- 30. Come confrontare Python e PHP per l'e-commerce?
Cosa intendi quando parli? Vuoi vedere se sono identici? Stai cercando dettagli su come farlo in Python o su come confrontare le immagini in generale? –
si ho voluto confrontare per vedere se sono identici inclusi i numeri/lettere visualizzati nel software – stallion