Sto cercando un modo efficace per confrontare 2 immagini e ottenere le aree modificate come risultato.
Il mio attuale tentativo ha i seguenti passaggi:
- Confronta ogni linea orizzontale e mantieni l'indice di linea modificato in un elenco
- Confronta ogni riga verticale e mantieni l'indice di linea modificato in un elenco
- Esegui l'iterazione su ogni linea orizzontale modificata, individuando ciascun punto iniziale e finale dell'altezza mentre iterazione sulle linee delle modifiche verticali trovando la larghezza dell'area.
Questo metodo ha i suoi difetti e sembra non molto veloce.
Uno dei difetti è che se ci sono 2 aree modificate su una diagonale, questo metodo rileva 4 aree modificate. tuttavia questa piccola anomalia non è un problema per il mio caso d'uso.
Esistono metodi più efficienti? Stavo pensando, in che modo VNC o TeamViewer rileva i cambiamenti di schermo?
L'idea è che ci sia un'immagine di base. Un utente disegna (non in applicazione) ulteriori dettagli su di esso. Voglio confrontare queste immagini e trovare dove l'utente ha disegnato ulteriori dettagli.