Привет всем. Может кто-нибудь сталкивался или хотя бы слышал. Не знаю как правильно даже написать в поисковике.
в общем суть такая - есть камера, которая складирует фотки с определенным интервалом в папку. Понятно что за 6-10 часов там даже при 0.2-0.1 фпс образуется куча файликов. Предполагается, что камера будет снимать помещение с вечера до утра, т.е. освещенность будет изменяться, в ночное время будет работать подсветка. Основное назначение - выявить нарушителя. Понятно, что за 12-15 часов накопится громадное количество файлов и разгребать их нужно будет целый день.
Так вот - нет ли какой-нибудь софтятинки, которая по набору изображений будет выделять фотографии, отличные от временного эталона?
Заранее, благодарен
NIXIUS
Зачем? Просто утром эта кучка сжимается софтиной в ави - и закидывается в архив на два месяца, а после удаляется от-туда. Винта в 2Тб должно хватить с головой.
Все автоматизировано - есть такой мод виртуалдаба - которому можно по времени указывать джоб-лист - профит!
Не нужно придумывать велосипед с одним колесом - если взялся, то делай как положено.
NIXIUS
Ты сам то понял что спросил?
Софтина откроет твои тыщи фоток одновременно и будет их анализировать? Или по одной перебирать? Может и рожу преступника по фотороботу определит сразу? А если он придет не в нужный интервал времени?
Короче, я не слышал о такой софтине.
А не проще ли снимать только тогда, когда в кадре нарушитель? Софта подобного полно даже для веб камер, он даже фотки отправляет на почту, смски там и все такое.
Алнгоритм:
function getDifferenceRating(img1:BitmapData, img2:BitmapData):uint { var rating:uint = 0; for (var x:uint = 1; x <= img1.width; x ++) { for (var y:uint = 1; y <= img1.height; y ++) { rating += Math.abs(grayscale(img1.getPixel(x, y)) - grayscale(img2.getPixel(x, y))); } } return rating }
Проверяем этой функцией каждые два соседних кадра. Если возвращаемое значение больше N, значит, в объектив кто-то попал. Оптимальное N находится экспериментальным методом.
NIXIUS
Зачем такая сложная схема? Камера с датчиками движения. Снимается только когда это движение будет. Ставишь несколько секунд в обе стороны на запись (типа записывать за 5 секунд до начала движения и за 10 секунд после окончания). Софта полно, стоимость всего баксов 300 на аналоговых камерах + комп под сервер, на цифровых чуть дороже.
Iskander
Мой вариант проще и дешевле.
в нете куча бесплатный или крякнутых прог, которые позводяют с любой камеры (даже web камеры) сделать систему наблюдения.
Видеозапись ведется только если в кадре движение. Видео жмётся кодеком h264 и занимает минимум места.
Проги отсылают куски видика по FTP в нет, предупреждают хозяев с помощью CMC, много чего.
Всё давно украдено придумано до нас.
Antilegent
Зато мой включает в себя отправку СМС, электронной почты, хранение, просмотр из интернета камер, и еще дохрена чего еще. В твоем случае мало того что непонятно как работает, так еще и надо писать наколенный софт.
заметили? уже 9 сообщений - и все бесполезны!
Iskander
Мне интересно, как можно начать снимать до того, как начнется движение...
Lunomania
> Мне интересно, как можно начать снимать до того, как начнется движение...
Не снимать, а записывать. Снимают такие камеры постоянно. Но записывают на хард только нужные кадры.
Всем спасибо за советы. НО - склеивание фото в видео - у нас нет на это времени - пусть даже это будет занимать несколько минут каждый день. Платный софт нам не интересен - ни кто за него платить не будет, своих средств жалко - за пиратские версии ПО - увольнение. В общем - наваяли утилиту - которая в фоновом режиме сравнивает последовательность кадров и выделяет "подозрительные" кадры и области расхождения, их площадность. В общем - Antilegend - дал самый действенный вариант, к которому однако пришли самостоятельно.
Antilegent
Вот только камера имеет свои шумы и сравнивать пиксели из кадров не очень хорошо, функция всегда вернет ненулевой результат. Нужен некоторый критерий погрешности, плюс можно в случае "подозрительности" сравнивать кадра за разные времена с интервалами в секунды.
dave
> функция всегда вернет ненулевой результат. Нужен некоторый критерий погрешности
Вместо погрешности там число N, с которым этот ненулевой результат нужно сравнивать.
Тема в архиве.