#c_sharp #vbnet
Есть три скриншота. на них короткий текст с кодом типа X123XX123. белый текст на темном фоне (без искажений) красный текст на темном фоне (без искажений, текст совпадает с 1.) белый текст на том же фоне что и всегда, но код другой. (без искажений) Какой способ сравнения выбрать для быстрого сравнения вариантов 1-2 и 2-3? 1-2 Необходимо удостовериться что текст тот же но он стал красным. 2-3 Удостовериться что текст стал другим. Скриншоты размером около 150х80px.
Ответы
Ответ 1
Можно попробовать так static bool Equality(Bitmap Bmp1, Bitmap Bmp2) { var pixelTrue = 0.0; var pixelFalse = 0.0; if (Bmp1.Size == Bmp2.Size) { for (int i = 0; i < Bmp1.Width; i++) for (int j = 0; j < Bmp1.Height; j++) { var pixel1 = Bmp1.GetPixel(i, j); var pixel2 = Bmp2.GetPixel(i, j); if (pixel1 != pixel2) pixelFalse++; else pixelTrue++; } } else return false; var percentResult = (pixelTrue/(pixelTrue + pixelFalse))*100; return percentResult >= 97; } Хотя шаг можно и увеличить!
Комментариев нет:
Отправить комментарий