Non posso rispondere a questa domanda, perché non riesco a trovare una buona domanda, quindi permettimi di descrivere quello che voglio e forse qualcuno sarà in grado di suggerire un modo per me.
Ho bisogno di risolvere il seguente problema: c'è una lista di immagini jpg. C'è anche una immagine "jpg" di origine. Devo trovare se questa immagine è un'immagine ritagliata dalla lista. Non so quale software è stato utilizzato per ritagliare e non ho alcun controllo su quale impostazione di qualità jpeg è utilizzata nell'immagine sorgente. Mi rendo conto che se l'impostazione è bassa il risultato non può essere irriconoscibile, ma mi piacerebbe in qualche modo poter controllare l'immagine sorgente rispetto a ciascuna delle immagini nell'elenco e ottenere un "sì" se trova una corrispondenza.
Idealmente mi piacerebbe una libreria .net per questo, ma potrei anche implementarla da sola se solo conoscessi un algoritmo appropriato (e la sua descrizione non è lunga 100 pagine). Dal momento che jpeg è un formato con perdite, non posso fare un confronto bit a bit, e anche se potessi non è immediatamente ovvio come trovare la parte corretta dell'immagine da confrontare, quindi non ci vuole troppo tempo, poiché il ritaglio può essere di dimensioni arbitrarie in un punto arbitrario dell'immagine.
Nel mio caso il ritaglio non viene mai ridimensionato o ruotato, quindi lo rende più semplice, ma non sono ancora sicuro da dove cominciare.