Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2010, 21:38   #21
fen1ksss
Пользователь
 
Регистрация: 29.11.2009
Сообщений: 44
По умолчанию

В чем цель выражения?

Код:
F := F + abs(s1.Canvas.Pixels[i,j]-s2.Canvas.Pixels[i+a,j+b]);

Суммирование значений цветов и только. Как это число можно использовать в дальнейшем? Видится, что никак. После многочисленного суммирования значений цветов получим какое-то абстрактное большое число. И куда его пристроить?

получаем абстрактное большое число - минимальную разностную функцию, т.е. в цикле, пройдя весь кадр, на экран выводится минимальная разность оттенков пикселей.
Допустим в точке 0.0 разность равна 300000, а в точке 0.1 равна 200000, берется точка 0.1, дальше в точке 0.2 функция равна 400000, остается точка 0.1 и так далее проходит весь цикл, какая точка будет иметь минимальную функцию, на том месте и есть наиболее похожий участок кадра.
+ с этой функцией одновременно считаются координаты этого участка (amin, bmin)

Прикрепляю предыдущий проект, там все это работало, только с черно белыми снимками. (unit 4)
Теперь все то же самое, но нужны цветные кадры.

Цитата:
Попробуйте объяснить себе что делается в процедурах CreateEtalon и CreateBMP. При ближайшем рассмотрении - это всего лишь вывод картинки на поверхность формы.
Вывод на картинки это всего лишь проверка того, что моя картинка правильно записана в массив.
В процедурах CreateEtalon и CreateBMP я пытался загнать изображение в массив для использования как "s1" и "s2",как это делал с черно-белым снимком.
Возможно пошел не по тому направлению.

Цитата:
Сообщение от x128 Посмотреть сообщение
fen1ksss, в этой теме я прикрепил пример поиска фрагмента на изображении, посмотри.
Спасибо!
Единственное что не понял, почему в
procedure TForm1.Button3Click(Sender: TObject);
maxerr:=TrackBar1.Position*3; именно 64*3?
Вложения
Тип файла: rar Курсовая изобр3.rar (3.88 Мб, 19 просмотров)

Последний раз редактировалось Stilet; 22.09.2010 в 07:52.
fen1ksss вне форума Ответить с цитированием
Старый 21.09.2010, 01:22   #22
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

64 это максимальная допустимая ошибка (разница) между значениями цвета т.к. цвет состоит из трех компонент RGB, соответственно значение допустимой ошибки умножаю на 3, а сама ошибка рассчитывается так err:=abs(r1-r2)+abs(g1-g2)+abs(b1-b2).
x128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
timage в bmp varelik Мультимедиа в Delphi 8 21.12.2009 09:55
Программа BMP PradoSV Общие вопросы C/C++ 0 23.11.2009 23:25
bmp картинки B@R@B@$HK@ Общие вопросы C/C++ 0 09.06.2009 23:08
Как загрузить BMP в массив и обратно в С++ Ilja Общие вопросы C/C++ 8 07.03.2009 23:48
Декодирование BMP Rezet Мультимедиа в Delphi 6 24.01.2009 22:33