Jump to content
Compvision.ru

Dasha92

Пользователи
  • Content count

    16
  • Joined

  • Last visited

Everything posted by Dasha92

  1. Добрый вечер. Подскажите пожалуйста, работаю на языке Си. Как я могу перевести изображение в байты, а потом обратно перевести в изображение?
  2. Работаю с OpenCV. Беру изображение формата .JPG. По поводу String, я думала, что объявляю переменную типа String и туда записываю порядок байт. (видела что-то похожее на Python, там был формат стринг и используя "tobytes" туда записывали
  3. Я хочу поместить изображение в общую память, после оттуда вытащить. Получается изображение RGB я превращаю в String в байты, а после обратно конвертирую. Также есть момент высота*ширина*количество каналов. Не могу понять как правильно решить задачу с переводом изобажения
  4. Всем привет! Подскажите пожалуйста, в данный момент при помощи OpenCV я получаю видео с камеры(код на си), как я могу сделать на СИ клиент сервер с целью передать на какой-то другой компьютер получаемый видеопоток. Заранее спасибо за Ваши ответы!
  5. Добрый день. Кто-нибудь сталкивался ли с проблемой по засветке или лучам солнца на камере в солнечный день? по форуму ничего не нашел по запросу (быть может я неверно искала конечно). Хотелось бы если сталкивались, то какие пути решения нашли? Спасибо заранее!
  6. Все бы ничего, но моя программа использует OpenCV, без неё никак. Были мысли, может как-то можно реализовать на Си или Си++ какой-то стрим, который потом инклудом будет в главном файле с OpenCV вызываться. Даже не знаю в какую сторону копать или где примеры какие можно найти
  7. Добрый день, работаю на opencv версии 3.3. Мне нужно сделать следующее, есть frame получаемый из камеры (условно 1280х720), нужно на данный frame наложить второй видеоролик, уже меньшего размера (условно, 300х300). Как мне это реализовать, подскажите пожалуйста. Спасибо!! Пишу на Си. Наброски кода: CvCapture* bigframe = cvCaptureFromCAM(0); Cvcapture* smallframe=cvCreateFileCapture("1.avi"); CvMat* display; cvNamedWindow("video", CV_WINDOW_AUTOSIZE); while(1) { display=cvQueryFrame(bigframe); cvShowImage("video", display); }
  8. Одно видео внутрь другого

    Размер области 0 просто для примера. Можно подробнее про маленькое изображение?
  9. Одно видео внутрь другого

    Попробовала сделать как говорили, после этого у меня при запуске виснет и все. Вот набросанный код: CvCapture* bigframe = cvCaptureFromCAM(0); Cvcapture* smallframe=cvCreateFileCapture("1.avi"); CvMat* display; CvMat* smallframe; cvNamedWindow("video", CV_WINDOW_AUTOSIZE); if(bigframe) { for(;;) { display=cvQueryFrame(bigframe); } cvSetImageROI(display,cRect(0,0,0,0)); cvCopy(smallframe,display,NULL); cvResetImageROI(display); cvShowImage("video", display); }
  10. Одно видео внутрь другого

    Хмммм, спасибо большое за ответ! Буду пробовать. Я думала, что он первый кадр только подхватывает, а не весь видеопоток. Я это представляю следующим образом, есть видео(frame) создаем элемент Mat и туда кидаем frame, как то так CvMat *display =(cvSize(1280, 480), frame). А дальше выделяя область интереса копировать туда видео
  11. Одно видео внутрь другого

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