|
0 / 0 / 0
Регистрация: 14.06.2020
Сообщений: 5
|
||||||
Построение среднего кадра по предыдущему и последующему кадру14.06.2020, 08:38. Показов 1411. Ответов 8
Метки canvas, cod, coding, draw, help me, help-me-please, matlab, python, python 2.7, python 2.x, python 3, python 3.5, python 3.6, python 3.7, python 3.x, python numpy matplotlib, python для начинающих, двумерные массивы, двумерный массив (Все метки)
Здравствуйте, я самый новенький из всех новичков в Python'e, да и в программировании в целом. Буквально ночью скачал PyCharm и начал пытаться реализовывать код.
ТЗ: Есть первый и третий кадр На них находятся несколько объектов (кружочков), внешне похожих, но они разные. Положение объектов относительно друг друга не меняется. Объекты движутся по линейной траектории. Нужно вычислить координаты положения объектов на середине между первым и вторым кадром. И самое главное, нужно создать этот кадр - новое изображение, на котором объекты будут находится на вычисленных координатах. Я вроде немного справился с кодом. Смог разобраться как вычислить объекты на изображении, подсветить их контура и вычислить середины объектов Занес данные о координатах центра объектов в два массива, соответственно с первого и третьего кадра. Сделал вывод изображений с подсвеченными контурами объектов и вывод массивов с координатами центра объектов для наглядности. Вот код, который у меня получился:
А далее для меня начинается темный лес, я не понимаю как мне запомнить объекты с изображения (т.е их размер, форму и т.д) и перенести на новые координаты. Копался в интернете, но из за скудных познаний в программировании не смог ничего понять и найти полезного. Везде описываются именно способы нахождения объектов на изображении, но нигде нет описания как их перемещать. Примерный кадр, который должен получиться в результате работы программы (нарисовал в Paint'e): Если кто то сможет помочь с данной задачей, буду рад отблагодарить. Код нужен для дипломной работы, хотя мое направление никоим образом не пересекается с информатикой/программированием. До этого максимум, в чем я писал код, была среда Matlab. Мой научный руководитель предложил для последней главы диплома разработать такой алгоритм в этой среде. Я зачем-то согласился. После нескольких дней упорных попыток реализовать этот алгоритм в Matlab'e, пришел к выводу, что там он просто не реализуем. Знакомые подсказали, что можно попробовать реализовать его в Python'e с помощью OpenCV, отсюда и началось мое знакомство с данной средой. Не пинайте сильно, это первый мой пост, да и один из первых кодов в моей жизни)
0
|
||||||
| 14.06.2020, 08:38 | |
|
Ответы с готовыми решениями:
8
xsl:for-each доступ предыдущему/последующему элементу Map iterator обращение к предыдущему или последующему элементу Функция рассеяния точки (airy-function) в OpenGL, построение кадра в ИК-диапазоне |
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,757
|
|
| 14.06.2020, 08:50 | |
|
Кадры отличаются только трансляцией или еще вращением и формой объектов?
0
|
|
|
0 / 0 / 0
Регистрация: 14.06.2020
Сообщений: 5
|
|
| 14.06.2020, 08:54 [ТС] | |
|
Нет, отличаются только положением объектов в кадре.
Не вращаются и форму не меняют.
0
|
|
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,757
|
|
| 14.06.2020, 08:57 | |
|
Если только трансляцией, то можно сделать FFT2 посчитать среднюю фазу и преобразовать обратно. В матлабе всего строчек 5, наверное, будет.
0
|
|
|
0 / 0 / 0
Регистрация: 14.06.2020
Сообщений: 5
|
|
| 14.06.2020, 09:02 [ТС] | |
|
Если можно, опишите немного подробнее, пожалуйста.
Как это реализовать при использовании предыдущего и последующего кадра. Как я понимаю, мы сначала поочередно их считываем, потом используем 2D преобразование Фурье и получаем координаты. А дальше как быть? У меня самая большая проблема именно с построением нового изображения.
0
|
|
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,757
|
||||||
| 14.06.2020, 10:03 | ||||||
|
Requestin,
Напрямую, как я хотел, не получилось, возникла проблема с правильной интерполяцией фаз.. Но можно и так, переписать на Python с использованием scipy, numpy, думаю, будет просто:
0
|
||||||
|
0 / 0 / 0
Регистрация: 14.06.2020
Сообщений: 5
|
|
| 14.06.2020, 10:11 [ТС] | |
|
Большое спасибо за помощь!
В Matlab'e тоже отлично подойдет, обойдусь реализацией в нем ![]() Еще один небольшой вопрос, реализуем ли в Matlabe алгоритм экстраполяции с предсказанием? Имеется ввиду, опять есть те же данные два кадра, те же объекты и условия, но построить уже нужно следующий кадр, предсказывая положение объектов в новом кадре. Если да, то насколько это сложно?
0
|
|
|
5514 / 2867 / 571
Регистрация: 07.11.2019
Сообщений: 4,757
|
|
| 14.06.2020, 10:23 | |
|
Requestin, по хорошему, это делается с помощью вычисления оптического потока Optical Flow. В Матлабе что-то было на эту тему, но я с видео не работал. Но, там разница между кадрами должна быть небольшой, а не как у вас.
А так, [k,n] - вектор трансляции, умножите его на число меньше единицы (я делил на 2) - интерполяция, больше единицы - аппроксимация (с учетом зацикливания кадра, разумеется). https://www.mathworks.com/help... eflow.html
0
|
|
|
0 / 0 / 0
Регистрация: 14.06.2020
Сообщений: 5
|
|
| 14.06.2020, 10:29 [ТС] | |
|
Спасибо, буду пробовать
0
|
|
| 14.06.2020, 10:29 | |
|
Помогаю со студенческими работами здесь
9
Программа, которая имеет методы подсчета среднего арифметического, среднего геометрического, среднего квадратичного Игнорирует действие и переходит к последующему
Угадай фильм по кадру Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|