Количественная оценка различий в последовательности изображений для измерения активности - PullRequest
1 голос
/ 05 августа 2020

Я ищу программу, которая позволит мне определять разницу между изображениями в последовательности изображений с течением времени.

Мы надеемся использовать интервальные изображения для измерения активности головастиков, сравнивая, как изображения меняются со временем. Отслеживать передвижение людей нет необходимости. Головастики темные, а фон аквариума светлый, однако фон неоднородный, а некоторые предметы декора, такие как темные камни и листва, делают его так, что все головастики не видны постоянно.

В основном нужна программа, которая позволит мне подсчитывать различия / движения, обнаруженные в последовательности изображений (например, 209 изображений), и создавать данные, которые можно экспортировать ...

Любые и все предложения приветствуются !!

1 Ответ

1 голос
/ 06 августа 2020

Ваш вопрос довольно расплывчатый, и вы не предоставляете никаких изображений или реальных указаний на то, что вы ожидаете в качестве результатов, поэтому мой ответ не будет таким подробным, как мог бы быть в противном случае.

Вы не упомяните любые инструменты, с которыми вы знакомы, но я рекомендую Python и OpenCV . Альтернативы, вероятно, scikit-image , Python Wand .

В общем, при попытке обнаружить движение в серии изображений вы должны:

  • попытаться выяснить, что такое фон
  • поиск движения путем сшивания или дифференцирования кадров от фона
  • очистить изображение различия
  • идентифицировать объекты - может быть, по форме, размеру или цвету
  • возможно отслеживать объекты
  • производить статистику

Что касается разработки фона, я сделал пример здесь , найдя средний пиксель по всем изображениям в каждом месте изображений. Существует также OpenCV учебник здесь .

Что касается очистки изображений, вы, вероятно, можете удалить шум при вычитании фона с помощью небольшого медианного фильтра, скажем 3x3 или 5x5 в зависимости от разрешения ваших изображений.

Что касается обнаружения головастиков, вы, вероятно, захотите использовать OpenCV findContours() и фильтровать по размеру, цвету или округлости. Есть несколько довольно приличных руководств по PyImageSearch . Существует также ImageMagick «Connected Component» анализ, чтобы найти теннисиста, который я сделал здесь .

...