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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2007, 23:11   #1
lenivec
Пользователь
 
Регистрация: 13.11.2007
Сообщений: 20
По умолчанию помогите! как сравнить BMP файлы?

суть проблемы такова: у меня есть avi файл (заснято падение тела) и мне надо узнать в каком ряду пикселов происходит изменение( номер первого ряда, в котором произошли изменения, если смотреть сверху) через каждый кадр видеофильма.
Мои действия: я делю avi файл на кадры(bmp файлы) и собираюсь сравнить их.
Подскажите пожалуйста как можно это реализовать или другой метод решения проблемы. Заранее благодарен!
lenivec вне форума Ответить с цитированием
Старый 14.11.2007, 08:11   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если не секрет, мона узнать зачем? (фактически делать работу кодеков)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2007, 08:12   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Самый простой способ сравнивать попиксельно через цикл for (неэффективно)
Более эффективный способ ScanLine
SERG1980 вне форума Ответить с цитированием
Старый 14.11.2007, 08:21   #4
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

ScanLine - получение строки пикселов. а вот тут все равно for .
только нужно задать определенный порог. а разницу считать - по 3 компонентам цвета ..
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 14.11.2007, 11:49   #5
lenivec
Пользователь
 
Регистрация: 13.11.2007
Сообщений: 20
По умолчанию

Цитата:
Если не секрет, мона узнать зачем? (фактически делать работу кодеков)
было заснято на видео падение тела(камера не двигалась) и в моей работе мне посути надо получить зависимость координаты от времени(в роли координаты номер ряда, в котором произошли изменения).

А со Scanline я в принципе и собираюсь делать. Только у меня почти нет информации как это можно реализовать. Если не трудно, киньте пожалуйсты ссылочку где можно почитать о данной теме.

P.S. Если я не ошибаюсь, то программа сжатия видео сохраняет лишь изменеия кадров а не целиком битовые матрицы(во всяком случае в моём варианте я думаю программа работала бы именно так).
если кто-нибудь разбирается в технике сжатия видеоданных, подскажите пожалуйста, возможно ли как-то более разумно и просто можно решить мою задачу?
lenivec вне форума Ответить с цитированием
Старый 14.11.2007, 12:01   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Еси не ошибаюсь для этого нужно просто знать координату тела в первом кадре и координату тела в последнем (или расстояние полета), и тогда можно получить координаты в любом кадре.
ИМХО, покадровка тут лишнее...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2007, 13:02   #7
lenivec
Пользователь
 
Регистрация: 13.11.2007
Сообщений: 20
По умолчанию

Цитата:
Еси не ошибаюсь для этого нужно просто знать координату тела в первом кадре и координату тела в последнем (или расстояние полета), и тогда можно получить координаты в любом кадре.
ИМХО, покадровка тут лишнее...
если это возможно, то конечно же покадровка это глупость! Но подскажите пожалуйста как это возможно сделать!?!?!?!?Буду безгранично благодарен!
lenivec вне форума Ответить с цитированием
Старый 14.11.2007, 13:58   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

1.Ты знаешь на какой высоте находилось тело в начале сьемки?
2.Ты знаешь высоту на которой было тело в конце сьемки?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.11.2007, 14:09   #9
lenivec
Пользователь
 
Регистрация: 13.11.2007
Сообщений: 20
По умолчанию

Если за высоту принимать номер ряда пиксела положения тела, то я их знаю.
lenivec вне форума Ответить с цитированием
Старый 14.11.2007, 14:31   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну тогда предположим верхний ряд пикселей означает высоту скажем 500 метров, нижний ряд скажем 0, и извесно что тело преодолевает
9,8 м\с
Так же извесно что в клипе 5000 сек или 83 минуты 20 секунд
Например берем и перескакиваем в клипе на 10 минуту = 600 секундам
тогда мона простыми физформулами рассчитать что тело пролетело 66 метров.

Намек понял?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сравнить тексты olimpus Microsoft Office Excel 27 07.11.2008 10:29
сравнить разные строки Katovski Общие вопросы Delphi 8 02.05.2008 21:10
Сравнить колонки Romuald Microsoft Office Excel 11 22.01.2008 09:28
сравнить 2 строчки oLMeR Общие вопросы Delphi 3 02.11.2007 11:51