Imagem Comparando e retornando Porcentagem
int DiferentPixels = 0;
Bitmap first = new Bitmap("First.jpg");
Bitmap second = new Bitmap("Second.jpg");
Bitmap container = new Bitmap(first.Width, first.Height);
for (int i = 0; i < first.Width; i++)
{
for (int j = 0; j < first.Height; j++)
{
int r1 = second.GetPixel(i, j).R;
int g1 = second.GetPixel(i, j).G;
int b1 = second.GetPixel(i, j).B;
int r2 = first.GetPixel(i, j).R;
int g2 = first.GetPixel(i, j).G;
int b2 = first.GetPixel(i, j).B;
if (r1 != r2 && g1 != g2 && b1 != b2)
{
DiferentPixels++;
container.SetPixel(i, j, Color.Red);
}
else
container.SetPixel(i, j, first.GetPixel(i, j));
}
}
int TotalPixels = first.Width * first.Height;
float dierence = (float)((float)DiferentPixels / (float)TotalPixels);
float percentage = dierence * 100;
Com esta parte do código, estou comparando 2 imagens para cada pixel e, sim, funciona. Retorna a porcentagem de diferença, para comparar cada pixel da primeira imagem com o pixel no mesmo índice da segunda imagem. talvez não deva funcionar assim, na comparação, e talvez haja alguns algoritmos melhores que sejam mais rápidos e flexíveis. Então, alguém tem uma idéia de como posso transformar a comparação, devo continuar com isso ou comparar cores de cada pixel ou ....
PS: Se alguém tiver uma solução de como fazer esse código paralelo, eu também o aceitaria! Como expandir isso para 4 Threads, eles seriam mais rápidos em um Quad Core?