Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Solokirrik
0 / 0 / 0
Регистрация: 03.01.2011
Сообщений: 3
1

Попиксельная разность изображений

03.01.2011, 15:49. Просмотров 1881. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста, необходимо сделать попиксельную разность двух изображений...
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2011, 15:49
Ответы с готовыми решениями:

Попиксельная обработка изображений
Здравствуйте! Передо мной возникла неподъёмная задача... Самой мне не справиться:( Мне нужно...

Попиксельная 2д графика
Здравствуйте форумчане. Требуется помощь в по-пиксельной графике и простых плоских фигурах,...

Попиксельная обработка изображения
Есть ли функция или класс для попиксельной обработки изображения ? Можно ли просмотреть код цвета...

Попиксельная отрисовка линии
Здравствуйте. Интересует такой вопрос. Требуется найти все пиксели, принадлежащие линии, зная ее...

4
i8085
2294 / 1632 / 331
Регистрация: 11.09.2009
Сообщений: 5,974
04.01.2011, 02:18 2
Solokirrik, наберите в Гугле "попиксельная разность изображений". Вы удивитесь, насколько этот вопрос проработан.
Вкратце - так:
Переводите картинки в BMP (описание формата - в том же Гугле), потом сравниваете массивы. Как отображать разность - на ваш вкус. Например, простая разность составляющих R,G,B.
0
Solokirrik
0 / 0 / 0
Регистрация: 03.01.2011
Сообщений: 3
04.01.2011, 15:44  [ТС] 3
Ну...
Оказывается, просто надо дальше знакомиться с Dephi...
Так ли это должно выглядеть ?
Правда делалось "в лоб"
Delphi
1
2
3
4
5
6
begin
  for i:=0 to image1.Width do
  for j:=0 to image1.Height do
begin
  image4.Canvas.Pixels[i,j]:=image1.Canvas.Pixels[i,j]-image2.Canvas.Pixels[i,j]-image3.Canvas.Pixels[i,j]
end;
0
Миниатюры
Попиксельная разность изображений  
i8085
2294 / 1632 / 331
Регистрация: 11.09.2009
Сообщений: 5,974
04.01.2011, 18:09 4
Цитата Сообщение от Solokirrik Посмотреть сообщение
Так ли это должно выглядеть ?
Почему бы и нет?
Ещё раз повторюсь: Как отображать разность - на ваш вкус.

Посмотрите, как определено свойство Pixels. Это то, какую "разность" вы смотрите. "Разность" в картинках можно вычислять многими способами, в зависимости от задачи. Можно, например, выделять только "существенные" различия, перевести изображение в градации серого и брать разность, превышающую порог, фильтровать изображение перед сравнением... Сколько целей сравнения - столько решений.
1
x128
199 / 181 / 41
Регистрация: 17.04.2010
Сообщений: 416
05.01.2011, 13:57 5
Так ли это должно выглядеть ?
В целом так, только нужно учитывать разницу значений RGB по отдельности, обычно это выглядит как: err:=abs(r1-r2)+abs(g1-g2)+abs(b1-b2) - сумма абсолютных разниц либо сумма квадратов.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
begin
  for i:=0 to image1.Width do
    for j:=0 to image1.Height do
    begin
      diff_r:=abs(GetRValue(image1.Canvas.Pixels[i,j])-GetRValue(image2.Canvas.Pixels[i,j]));
      diff_g:=abs(GetGValue(image1.Canvas.Pixels[i,j])-GetGValue(image2.Canvas.Pixels[i,j]));
      diff_b:=abs(GetBValue(image1.Canvas.Pixels[i,j])-GetBValue(image2.Canvas.Pixels[i,j]));
      image4.Canvas.Pixels[i,j]:=RGB(diff_r, diff_g, diff_b);
      //либо так
      //err:=(diff_r + diff_g + diff_b) div 3;
      //image4.Canvas.Pixels[i,j]:=RGB(err, err, err);
    end;
1
05.01.2011, 13:57
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2011, 13:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Попиксельная обработка изображения
Есть у меня Bitmap, в котором что-то нарисованно. Мне нужно програмно: а) Перевести все пиксели...

Попиксельная отрисовка массива ?
Здраствуйте. Задача такова. Необходимо взять двумерный массив из файла, элементы массива...

Попиксельная раскладка фото-файла
Здравствуйте, уважаемые специалисты по экселю. Помогите решить проблему. Есть макрос, который...

Попиксельная проверка столкновений. Pygame
Здравствуйте, я хочу сделать проверку столкновений спрайтов, но при этом нужно чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.