brutalis 5 Жалоба Опубликовано November 29, 2013 Всем доброго времени суток.Снова нужна помощь знающих людей. есть прога через которую получаю картинку с IP камеры. теперь нужно обрабатывать изображение в потоке. помогите написать , или подскажите где посмотреть, фильтр\обработчик видео в потоке. например разбиение на ржб потоки, распознание объектов и прочее. чем больше тем лучше)) видео получаю таким образомint KamIndex,c,x,y; c = lineEdit->text().toInt() ; c = indexBox->text().toInt() ; x=x_coordinate->text().toInt() ; y=y_coordinate->text().toInt() ; KamIndex=c; //#####################------------------просто доступ к камере // задаём высоту и ширину картинки // получаем любую подключённую камеру //CVAPI(CvCapture*) cvCreateCameraCapture( int index ); //CVAPI(int) cvSaveImage( const char* filename, const CvArr* image, const int* params CV_DEFAULT(0) ); //номер камеры в системе(number of cameras in the system) //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ CvCapture* capture = cvCaptureFromCAM( KamIndex ); //cvCreateCameraCapture(CV_CAP_ANY);// //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ if(capture == NULL) // Если камер не обнаружено proverka(); assert( capture ); cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, x);//1280); cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT,y);//960); // узнаем ширину и высоту кадра // double width = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH); // double height = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT); //printf("[i] %.0f x %.0f\n", width, height ); IplImage* frame=0; cvNamedWindow("capture", CV_WINDOW_AUTOSIZE); printf("[i] press Enter for capture image and Esc for quit!\n\n"); int counter=0; char filename[512]; while(true){ // получаем кадр frame = cvQueryFrame( capture ); // показываем cvShowImage("capture", frame); char c = cvWaitKey(33); if (c == 27) { // нажата ESC break; } else if(c == 13) { // Enter // сохраняем кадр в файл sprintf(filename, "Image%d.jpg", counter); printf("[i] capture... %s\n", filename); cvSaveImage(filename, frame); counter++; } } // освобождаем ресурсы cvReleaseCapture( &capture ); cvDestroyWindow("capture"); Спасибо. ps в гугле не нашел. прочитал тему http://robocraft.ru/page/opencv/ ,попробовал, не получилось для видео, с картинкой(jpg)работае вои попытки включить сюда раличные фильтры и способы обработки изображения не выкладываю т.к. догадываюсь что там у меня полный бред. помогите написать ,исходя из этого кода, или подскажите где посмотреть, фильтр\обработчик видео в потоке. например разбиение на ржб потоки, распознание объектов и прочее. чем больше тем лучше)) использую QT5.1 и opencv Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано November 30, 2013 Посмотрите здесь, (пост №9): http://www.compvision.ru/forum/index.php?showtopic=434 Есть особенность, вывод в окна OpenCV нужно делать в каком-нибудь одном потоке,а не разносить по разным, иначе возникают проблемы. Ну и естественно нужно позаботиться о синхронизации. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано November 30, 2013 забыл уточнить что пишу все это на QT5.1 и opencv Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано November 30, 2013 Здесь смотрели?: https://code.google.com/p/qt-opencv-multithreaded/ Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано December 3, 2013 Здесь смотрели?: https://code.google.com/p/qt-opencv-multithreaded/ нет. не смотрел. не находил такого. спасибо. почти то что нужно. просмотрел. запустил. осталось разобраться как оно работает. если поможете разобраться то будет очень хорошо. Спасибо зы нужно еще чтобы знаки или жесты распозновал)) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано December 3, 2013 Ну тут помочь сложно, пока Вы сами не потратите изрядное количество времени и не сформулируете конкретные вопросы. А пока найдите точку входа, поставьте точку останова и пошагово в отладчике шлепайте до непонятного места Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано December 3, 2013 в том то и дело, что я не понимаю где тут процедуры такие как поиск граеиц кенни, отобразить все в градациях серого и прочие. вижу тоько else if(action->text()=="Grayscale") { imageProcessingFlags.grayscaleOn=action->isChecked(); emit newImageProcessingFlags(imageProcessingFlags); и прочее, а описание алгоритма найти не могу. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано December 3, 2013 Дык в ProcessingThread.cpp Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано December 4, 2013 пробовал разобраться, не осилил. помогите пожалуйста прикрутить детектор границ кенни отсюда в этот проект чтобы он включался через checkbox. самому не получается(, не знаю как. спасибо.video.rar Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
brutalis 5 Жалоба Опубликовано January 31, 2014 помогите написать , или подскажите где посмотреть, фильтр\обработчик видео в потоке. например распознание объектов и жестов рук и прочее. чем больше тем лучше)) самостоятельный поиск желаемых результатов не принес. очень нуждаюсь в помощи знающих людей. исходники выложены выше. заранее большое спасибо Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах