Показать разницу между картинками как векторами
Я хочу написать на C#, используя приложение для графической библиотеки, которое покажет разницу между двумя изображениями в виде карты векторов, которая покажет движение точек.
Нечто подобное реализовано для Matlab и называется PIVlab и, как пример: разница между
а также
представлен первым изображением в
Я был бы очень рад написать что-то похожее на.NET, используя, например, AForge. Вы можете помочь?
2 ответа
То, что вы хотите, это найти оптический поток. Ищите здесь реализацию C# + emguCV оптического устройства отслеживания потока.
Интересный вопрос, точки всегда на виду? Или изображение не так стабильно, как камера шум.
Является ли движение медленным или быстрым> я имею в виду пиксель в пределах досягаемости между кадрами?
Пиксели движутся, как в одной большой группе, например, отслеживая звезды? Или пиксели движутся больше, как группы облаков или птиц в воздухе? Или пиксели движутся, как бегут, в разных направлениях? Может быть какое-то общее подозрение на движение (например, вождение камеры?)
Не могли бы вы обновить свой вопрос с такой информацией в исходном вопросе.
Поскольку это сильно отличается, в большинстве случаев речь идет об отслеживании ближнего соседа, поэтому можно написать проверочную проверку пикселей для каждого пикселя (или просто для простого программирования от маленького прямоугольника к большому прямоугольнику, что может оказаться не очень быстрым тестом, это лучше всего подходит для примера бегства)