LINUX.ORG.RU

opencv глючит

 ,


0

1

Хай друзья! Не ругайте сильно, мне нужно забрать поток с видеокамеры и отзеркалить. Делаю это с помощью OpenCV, поэтому добавляется оператор cvtColor. Наблюдаю такую картину, что операторы flip и cvtColor не всегда срабатывают

cv::Mat m;
... some operators ...
cv::flip(m, m, 1);
... 
cv::cvtColor(m, m, cv::COLOR_BGR2RGB);
...

Смотрим в окно и видим в основном нормальную адекватную картинку, но иногда проскакивают кадры для которых одновременно не выполнились flip и cvtColor, и при этом попиксельные операции в том же коде (до и после flip и cvtColor) выполнились

А чиго я ваще могу тут сделать, не понимаю?

Модет хто сталкивался и имеет опыт?

ПАМАГИТЕ

скорее всего в m оказывается ссылка на область памяти, в которую потом идёт захват следующего кадра + где-то случается асинхроншина.

В результате пока она отображается в окне - модуль захвата в эту область захватывает следующую. Модель владения памяти cv::Mat слишком гибкая и не кодируется самим типом, в резульате порождает много граблей

GPFault ★★ ()