Sto provando a creare un'applicazione che risolva un enigma (cercando di sviluppare un algoritmo grafico), e non voglio inserire l'input del campione a mano tutto il tempo.Trovare un'immagine all'interno di un'altra immagine
Modifica: Non sto cercando di creare un gioco. Sto cercando di costruire un agente che gioca il gioco "SpellSeeker"
Dire che ho un'immagine (vedi allegato) sullo schermo con i numeri in esso, e conosco le posizioni delle scatole, e ho l'esatto immagini per questi numeri. Quello che voglio fare è semplicemente dire quale immagine (numero) si trova sulla casella corrispondente.
Numbers http://i46.tinypic.com/3089vyt.jpg
quindi credo che ho bisogno di implementare
bool isImageInsideImage(Bitmap numberImage,Bitmap Portion_Of_ScreenCap)
o qualcosa di simile.
Quello che ho provato è (utilizzando AForge librerie)
public static bool Contains(this Bitmap template, Bitmap bmp)
{
const Int32 divisor = 4;
const Int32 epsilon = 10;
ExhaustiveTemplateMatching etm = new ExhaustiveTemplateMatching(0.9f);
TemplateMatch[] tm = etm.ProcessImage(
new ResizeNearestNeighbor(template.Width/divisor, template.Height/divisor).Apply(template),
new ResizeNearestNeighbor(bmp.Width/divisor, bmp.Height/divisor).Apply(bmp)
);
if (tm.Length == 1)
{
Rectangle tempRect = tm[0].Rectangle;
if (Math.Abs(bmp.Width/divisor - tempRect.Width) < epsilon
&&
Math.Abs(bmp.Height/divisor - tempRect.Height) < epsilon)
{
return true;
}
}
return false;
}
ma restituisce falso durante la ricerca di un punto nero in questa immagine.
Come posso implementarlo?
Qualche gioco di sudoku o tic tac toe? – bonCodigo
Hai visto altre domande sul [terreno simile] (http://stackoverflow.com/questions/2472467/how-to-find-one-image-inside-of-another)? – bonCodigo
È un gioco chiamato "spellseeker". Ma non è importante, voglio solo costruire l'algorihm per risolvere un problema del genere. E sì, in realtà ho trovato questa soluzione in altre domande, ma non mi hanno aiutato. E perdonami per la mia pigrizia, ma penso davvero che ci dovrebbe essere un modo più semplice per questo :) – marvin