Serpilin
Пользователи-
Количество публикаций
12 -
Зарегистрирован
-
Посещение
-
Days Won
1
Serpilin last won the day on September 5 2013
Serpilin had the most liked content!
Репутация
1 НовичекО Serpilin
-
Звание
Бывалый
-
Искал, искал. Не мог найти. Стоило спросить - сразу нашел. Вот код, может кому-то пригодится... cvNamedWindow("Name", CV_WINDOW_NORMAL); cvSetWindowProperty("Name", CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN); cvShowImage("Name", your_image);
- 1 reply
-
- 1
-
Добрый день, друзья! Возможно ли создать окно без заголовка. Использую функцию int cvNamedWindow(const char* name,int flags = CV_WINDOW_AUTOSIZE) Насколько я понимаю, ее параметры не позволяют этого сделать. Необходимо что-то совместимое с cvShowImage(...) Спасибо!
-
Распараллеливать. Отличная идея. Спасибо, Nuzhny. Учитывая то, что pGetImage и cvDecodeImage выполняются почти за одинаковое время, можно увеличить fps в два раза. В настройках камеры изменил RESOLUTION с FULL на HALF. Разрешение ученьшилось в два раза, но область, которая попадает в кадр сохранилась неизменной. Теперь pGetImage - 90 ms, cvDecodeImage - 60 ms. При распараллеливании будет ~10 кадров в секунду, а это уже как-то похоже на видео.
-
Nuzhny, а может не так уж и медленно? Я забыл сказать, что это кадр 3648x2752 (10 Mp)
-
Процессор Intel Core2 Quad Q9300 2,5GHz Компилировал сам - это при помощи утилиты CMake? Тогда не сам. Я распаковывал архив содержащий заголовочные файлы и т.д
-
Nuzhny и Smorodov спасибо! Работает быстрее.. pGetImage2 ~200 миллисекунд так и осталось cvDecodeImage ~170 миллисекунд. Примерно 2-3 кадра в секунду. Маловато. Буду искать другой подход
-
хм...в debug компилировал. Переключился в Release. Вот такая ошибка. fatal error LNK1120: 38 неразрешенных внешних элементов Это значит что OpenCV в Release не скомпилирован? Где-то что-то еще прикрутить надо? Ушел читать. P.S Release-версия даст существенный прирост в скорости?
-
Да... pGetImage2 ~200 миллисекунд cvDecodeImage ~500 миллисекунд Даже если декодировать быстрее, функция получения jpeg все равно медленная. Видимо надо искать другой подход. Думал, что чтение изображения не из файла, а из памяти существенно увеличит скорость выполнения. Но это не так.
-
Nuzhny, спасибо. Работает. Но результат ожидал другой. Делаю так... IplImage *img = 0; IplImage *image = 0; while(1) { if(dll.pGetImage2(client1, &data, &size, &capacity, res, zoom, dx, dy)) { // Помещаем данные в матрицу CvMat mat = cvMat(1, size, CV_8UC1, data); image = cvDecodeImage(&mat, 1); img = cvCreateImage(cvSize(image->width/4, image->height/4), image->depth, image->nChannels); cvResize(image, img, CV_INTER_NN ); cvShowImage("NewImage", img); cvReleaseImage(&img); cvReleaseImage(&image); char c = cvWaitKey(33); // ESC if (c == 27) break; } pGetImage - из SDK камеры. В data(char*) получаю jpeg. Дальше, как Вы писали, конвертирую, маштабирую и вывожу в окно. Работает медленно. Имитации видеопотока не получается.
-
cvGetCaptureProperty возвращает 640x480 (?). Откуда эта цифра вообще непонятно. Она не меняется, какое бы я разрешение не выставил через ПО камеры. cvSetCaptureProperty - работает. Выставляю разрешение, но если оно больше чем 1600x1200, то отображается только эта область, остальная часть окна залита черным. Может какое-то ограничение OpenCV на разрешение. Да и еще. Разрешение монитора 1900x1200. Может как-то с этим связано?
-
Добрый день. Получаю с камеры сжатое в jpeg изображение (массив unsigned char). Нужно без промежуточного сохранения в файл передать его в IplImage, для последующей обработки средствами OpenCV. Прочитал про функцию... CVAPI(IplImage*) cvDecodeImage( const CvMat* buf, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR)); но для ее использования данные должны быть помещены в CvMat. Сталкивался ли кто-то с подобной проблемой. Спасибо
-
Добрый день! Уже который день ломаю голову. У меня есть IP камера (ArecontVision). Максимальное разрешение на котором она работает 3648x2752. Работал с ней с помощью функций... cvCreateCameraCapture cvGetCaptureProperty cvQueryFrame Второй вариант - через библиотеку videoInput Все работает, НО! Разрешение выдает 1600x1200. Вырезает кадр из верхнего левого угла. В чем может быть причина? Версия OpenCV 2.4.2 Спасибо.