Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > сравнение картинок


Автор: casinosoftguru 17.12.2009, 22:00
посмотрел вроде бы нет аналогичной темы значит суть вот в чем
есть задача примерно такого плана - есть всевозможные варианты картинок (число или символ) которые появляются в программе

я делаю так - у меня массив отпечатков от каждой картинки который является ничем иным как результатом этой нехитрой функции

Код

var sum: integer;
    x,y: integer;

begin

for x:=1 to image112.Picture.Width do
for y:=1 to image112.Picture.Height do begin

sum:=sum+image112.Canvas.Pixels[x,y];
end;
end;



собсно, проблема вот в чем. т.к. фон картинок всегда одинаков и разница может быть только в символах, например на одной картинке написано 14 а на другой 41 то отпечатки для обоих картинок одинаковы.. я разве что могу додуматься пустить цикл не по всему прямоугольнику картинки а например по треугольнику ну или через один пиксель вместо чем по всем подряд вот только поможет ли это ?
мне не хочется менять архитектуру всего модуля, подскажите способ определения уникального отпечатка картинки для небольшого ряда картинок чтобы результатом выполнения этого способа было integer и чтобы этот способ выдавал разные результаты для вышеописанного упущения  smile 

Автор: VictorTsaregorodtsev 17.12.2009, 22:25
CRC32 и контрольная сумма Флетчера помогут (если один из вариантов вдруг и даст для каких-то картинок одинаковые значения, то второй поможет отделить мух от котлет).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)