Dasha92 0 Жалоба Опубликовано July 28, 2017 Добрый день, помогите пожалуйста с решением возникшей проблемы. Задача состоит в следующем, есть видеоизображение получаемое с камеры, показывается в соответствующем окне. Нужно в углу вывести небольшой рисунок (64,64 размеры). Решение задачи вижу следующим образом: создаётся одна большая матрица, туда копируется видеопоток и изображение. Не могу понять как правильно реализовать, а именно копировать маленькое изображение и видео в матрицу, заранее спасибо за ответы. примерный код: CvMat *img; //64x64 картинка CvMat *mat_big =(cvSize(1280, 480), CV_8UC3); //создание матрицы //здесь копирование изображения и видео должно быть cvShowImage(buff, mat_big); //вывод в окно Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано July 28, 2017 не знаю как в С++ но должно быть что-то типа: cvSetImageROI(mat_big , cvRect(1280-64,480-64,64,64)); cvCopyImage(img, mat_big); cvResetImageROI(mat_big); Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Dasha92 0 Жалоба Опубликовано July 28, 2017 1 час назад, iskees сказал: не знаю как в С++ но должно быть что-то типа: cvSetImageROI(mat_big , cvRect(1280-64,480-64,64,64)); cvCopyImage(img, mat_big); cvResetImageROI(mat_big); Попробовала таким образом, при попытке запуска выводит следующее сообщение: init done opengl support available Opencv error: assertion failed (rect.width >= 0 && rect.height >= 0 && rect.x <image->... in function cvSetImageROI Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Dasha92 0 Жалоба Опубликовано July 28, 2017 1 час назад, iskees сказал: не знаю как в С++ но должно быть что-то типа: cvSetImageROI(mat_big , cvRect(1280-64,480-64,64,64)); cvCopyImage(img, mat_big); cvResetImageROI(mat_big); Разобралась, все получилось, спасибо! А как несколько можно добавить? Я так понимаю добавляется ещё один CvCopy(img2,mat_big,NULL); Но как ему задать координаты? Чтобы это изображение не накладывалось поверх img1? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано July 28, 2017 cvSetImageROI это выбор области куда будет "наложено" изображение. выберите другу и копируйте в нее. не забудьте потом сделать cvResetImageROI Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Dasha92 0 Жалоба Опубликовано July 28, 2017 42 минуты назад, iskees сказал: cvSetImageROI это выбор области куда будет "наложено" изображение. выберите другу и копируйте в нее. не забудьте потом сделать cvResetImageROI Поняла, все получилось как надо! Огромное спасибо за помощь Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах