При использовании ДКП, после квантинизации его коэффициентов у нас получается матрица, у который бОльшие элементы сосредоточены в верхнем левом углу, а нули в нижнем правом. Зигзаг позволяет ранжировать эти величины по убыванию, что положительно сказывается на дальнейшей обработки этих коэффициентов RLE алгоритмом.
На собеседовании смело можно сначала описать решение в псевдокоде, главное чтобы подход был правильный.
Если с листка функция сразу заработает — это, конечно, громадный плюс, но не стоит отчаиваться если синтаксис забыт, можно списать на волнение и на ту же зависимость от разных кодхэлперов. Зачастую работодателям очень сложно найти толковых сотрудников, а если они видят, что человек соображает, то могут взять и с поблажкой на дообучение.
Выучить синтаксис — легко, научится мыслить — совсем другое.
Возможно. Но несколько не так.
Алгоритм оперирует всего несколькими параметрами:
l = L*K / ( W/x — 1 + K ), которые описаны выше.
При изменении угла камеры будут меняться параметры L и K (и возможно W). Их динамически из картинки не посчитать. Остаётся их только закрепить. Но мы можем менять переменную x — она определяет расстояние от камеры до объекта. То есть, если решать обратную задачу, то мы оставляем объект неподвижным, а вместо этого двигаем камеру. На рисунке это движение из положения 1 в положение 2. Мой алгоритм ограничен только одной свободой перемещения, поэтому мы можем перемещать камеру только строго параллельно «линейке»:
В этом случае даже ничего не надо переписывать: программа честно покажет перемещение и скорость камеры, если объект слежения будет неподвижен.
Выбор объекта в кадре можно сделать автоматическим, воспользовавшись всё из того же примера lkdemo.py функцией cv.GoodFeaturesToTrack.
То о чем Вы говорите больше походит на определения всех трёх координат камеры, а это не то, на что расчитан данный алгоритм.
Такая задача называется Camera Motion Estimation, алгоритмы её решения можно найти в сети, вот например один такой документ: A Robust Method for Camera Motion Estimation in
Movies Based on Optical Flow.
Пожалуйста!
У меня ещё есть модуль для подключения к сетевым RTSP камерам, которые отдают картинку в Motion-JPEG, тоже могу написать статью, если кого-нибудь заинтересует.
Потомучто в этом случае OpenCV был бы центральной фигурой, а так программа может работать и без него, выключив слежение. Да и просто через v4l2 было интереснее, этим самым я предоставил возможность захвата изображений не операясь на довольно тяжелую библиотеку. OpenCV использует ffmpeg, ffmpeg использует API video4linux2, я просто не стал использовать посредников.
Если с листка функция сразу заработает — это, конечно, громадный плюс, но не стоит отчаиваться если синтаксис забыт, можно списать на волнение и на ту же зависимость от разных кодхэлперов. Зачастую работодателям очень сложно найти толковых сотрудников, а если они видят, что человек соображает, то могут взять и с поблажкой на дообучение.
Выучить синтаксис — легко, научится мыслить — совсем другое.
Статья полезная, но несколько сумбурная.
Алгоритм оперирует всего несколькими параметрами:
l = L*K / ( W/x — 1 + K ), которые описаны выше.
При изменении угла камеры будут меняться параметры L и K (и возможно W). Их динамически из картинки не посчитать. Остаётся их только закрепить. Но мы можем менять переменную x — она определяет расстояние от камеры до объекта. То есть, если решать обратную задачу, то мы оставляем объект неподвижным, а вместо этого двигаем камеру. На рисунке это движение из положения 1 в положение 2. Мой алгоритм ограничен только одной свободой перемещения, поэтому мы можем перемещать камеру только строго параллельно «линейке»:
В этом случае даже ничего не надо переписывать: программа честно покажет перемещение и скорость камеры, если объект слежения будет неподвижен.
Выбор объекта в кадре можно сделать автоматическим, воспользовавшись всё из того же примера
lkdemo.pyфункциейcv.GoodFeaturesToTrack.То о чем Вы говорите больше походит на определения всех трёх координат камеры, а это не то, на что расчитан данный алгоритм.
Такая задача называется Camera Motion Estimation, алгоритмы её решения можно найти в сети, вот например один такой документ:
A Robust Method for Camera Motion Estimation in
Movies Based on Optical Flow.
У меня ещё есть модуль для подключения к сетевым RTSP камерам, которые отдают картинку в Motion-JPEG, тоже могу написать статью, если кого-нибудь заинтересует.