Разбитое стекло & пиксел

в 22:54, , рубрики: C#, MediaPlayerElement, Visual Studio, обработка видео, обработка изображений, Программирование

Приехал ко мне брат. Отдохнуть, повидать родственников, посмотреть на родной город. А ему на машине заднее стекло разбили. Прямо во дворе нашего дома. Неприятно.

Разбитое стекло & пиксел - 1

Когда он увидел, что стекло разбито, стал осматриваться и заметил, что на доме стоят камеры видеонаблюдения. Позвонил мне, спрашивает – а как этим воспользоваться, как посмотреть что произошло? Я слышал разговоры об этих камерах, что их собираются ставить, но что уже поставили и не знал. Разобрались. Оказалось, что видео можно посмотреть и скачать через мой личный кабинет с [сайта фирмы]. Машина стояла с вечера воскресенья до утра вторника, всего 35 часов 20 минут. Получилось 38 файлов по 30 и 50 минут. Почему-то, по 60 минут не скачиваются. Ну ладно, это всё надо просмотреть. Мне на работу, а брат сидел дома за моим компьютером и просматривал эти файлы. Скажу сразу, ничего он не увидел, а я нашёл. Потому что я программист, а он нет). Он сидел и смотрел в монитор, а я написал программу. Он потратил в сумме, наверное, около 15 часов, ускоренная перемотка, а я, три недели вечеров после работы. Свои часы я не считал.

Моя идея была простой. Должна была сработать сигнализация. Значит, если выбрать контрольную точку/пиксел на экране, проследить её по всему файлу/файлам, вывести значения пиксела, например красный байт, в файл PNG в виде диаграммы, то, можно увидеть время, когда это произошло и разглядеть, что же это произошло. Это сработало наполовину. Я поймал момент включения сигнализации на машине, но там ничего не происходит. Сигнализация включилась, а почему включилась непонятно. Я вырезал этот кусок видео, выложил в облако и послал ссылку брату. Он посмотрел и совсем ничего не увидел. Это правда, разглядеть включение сигнализации трудно. Мне пришлось объяснять куда смотреть, только тогда увидел.

Почему стекло оказалось разбитым осталось непонятным. Надо больше видеокамер и умения смотреть. Наверное, скоро появится профессия «программист-детектив видео»). Просматривать несколько часов, может быть десятков часов, с нескольких камер – это работа. В детективных сериалах такие спецы уже появляются. Ну да, несколько камер, сколько-то часов записи с каждой, всего 20-30-50 часов видео за 15-30 минут он просмотрел. Как бы не пришлось программу писать. Или готовую подшаманить.

Вот та диаграмма, на которой включилась сигнализация: (таких диаграмм получилось несколько, но их просмотреть гораздо проще, чем те файлы, с которых они создавались).

Разбитое стекло & пиксел - 2

Ещё несколько картинок:

Засветка фарами от проезжающей машины.
Засветка фарами от проезжающей машины.
Засветка солнцем.
Засветка солнцем.

В солнечную погоду вообще ничего не видно. Если бы сигнализация сработала, то, наверное, срабатывание было бы видно хорошо, но что там происходит за машиной, разглядеть вообще невозможно. Днём, если машина в тени, её видно хуже чем ночью, вообще не видно.

Скриншот окна программы с подгруженной диаграммой в момент срабатывания.
Скриншот окна программы с подгруженной диаграммой в момент срабатывания.

На этом я остановился, программа осталась в таком виде, без иконок и т. д. Вообще, это моя первая программа для UWP (Universal Windows Platform), первое знакомство. Хотя, наверное, такие задачи лучше решать на Python.

Репозиторий, если кому-то интересна недоделанная программа.

P. S. Стекло заменили, брат шутит – новое ещё лучше, красивее.

Автор: Ренат Ахметшин

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js