Перейти к содержимому
Compvision.ru
вф1

пример camshift можно ли сделать эллипс постоянного размера

Recommended Posts

насколько я понял за его перерисовку отвечает track_box, так вот как сделать чтобы он был постоянный

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если посмотреть на пример из OpenCV camshiftdemo.cpp, то в нём есть строка:

RotatedRect trackBox = CamShift(backproj, trackWindow, TermCriteria( CV_TERMCRIT_EPS | CV_TERMCRIT_ITER, 10, 1 ));
Вместо неё пишешь:
Rect tmp_trackWindow(trackWindow);


RotatedRect trackBox = CamShift(backproj, trackWindow, TermCriteria( CV_TERMCRIT_EPS | CV_TERMCRIT_ITER, 10, 1 ));


trackWindow.x = (trackWindow.x + trackWindow.width - tmp_trackWindow.width) / 2;

trackWindow.width = tmp_trackWindow.width;

trackWindow.y = (trackWindow.y + trackWindow.height - tmp_trackWindow.height) / 2;

trackWindow.height = tmp_trackWindow.height;

И всё, вроде, работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

функция meanShift(InputArray probImage, Rect& window, TermCriteria criteria) работает так же как и CamShift, но размер Rect не меняет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

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

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×