Перейти к содержимому
Compvision.ru

llscary

Пользователи
  • Количество публикаций

    9
  • Зарегистрирован

  • Посещение

Все публикации пользователя llscary

  1. Здравствуйте! Не могу воспоизвести видео. Вроде кодеки, что на офиц.сайте opencv все установлены. Ось - линукс. #include <highgui.h> int main( int argc, char** argv ) { char stri[] = "AVI Video"; cvNamedWindow( stri , CV_WINDOW_AUTOSIZE ); CvCapture* capture = cvCaptureFromAVI( argv[1] ); IplImage* frame; while(1) { frame = cvQueryFrame( capture ); if( !frame ) break; cvShowImage( stri , frame ); char c = cvWaitKey(33); if( c == 27 ) break; } cvReleaseCapture( &capture ); cvDestroyWindow( stri ); }
  2. Трекинг объектов.

    Большое спасибо! Помогло!
  3. Трекинг объектов.

    Здравствуйте! Имееться веб-камера, которая следит за движением круга. Камера делает джпег картинки и, сравнивая центр круга на картинках, выводит сообщение в какую сторону движеться круг. Прога работает, но очень часто выбивает "Segmentation fault". Дебаггал через gdb - невожможно считать с p[0] и p[1]. Чуть-чуть проекспереминтивовав, случалось, когда сменить освещение круга и камеры, то прога работала нормально. Но в проге добавил ещё цикл "раскачки камеры" - тоесть сперва камера работает вхолостую, а потом сохраняем кадры. В чём может быть проблема - в камере или нужно сменить метод распознавания круга? Пробовал распознать круги простой прогой распознавания с книги, но джпеги делал стандартной Линуксовской программой Cheese - распознаються нормально, но если вручную делать джпеги с помощью OpenCV, то очень часто та же ошибка - "Segmentation fault", невожможно считать с p[0] и p[1]. #include "cv.h" #include "highgui.h" #include <math.h> #include <stdio.h> int main(int argc, char** argv) { CvCapture* capture = cvCaptureFromCAM( 0 ); if (capture==NULL) printf("error capturing from camera\n"); assert( capture ); cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 352);//1280); cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, 288);//960); cvWaitKey(100); IplImage* frame=0; char filename[512]; for (int i=0; i<30; i++) { frame = cvQueryFrame( capture ); // "раскачка" камеры cvWaitKey(1); } float previous[3]; // array for previous circle coordinates - x,y,r previous[0]=0; previous[1]=0; for (int cycle=1; cycle<30 ;cycle++ ) { frame = cvQueryFrame( capture ); sprintf(filename, "Image%d.jpg", cycle); cvSaveImage(filename, frame); cvWaitKey(100); IplImage* image = cvLoadImage(filename, CV_LOAD_IMAGE_GRAYSCALE); IplImage* src = cvLoadImage(filename); CvMemStorage* storage = cvCreateMemStorage(0); cvSmooth(image, image, CV_GAUSSIAN, 5, 5 ); CvSeq* results = cvHoughCircles(image, storage, CV_HOUGH_GRADIENT, 2, image->width/10); float* p = (float*) cvGetSeqElem( results, 1 ); if ((previous[0]<p[0]) && (previous[1]<p[1])) printf(" right --->>> down\n"); if (previous[0]<p[0] && previous[1]>p[1]) printf(" right --->>> up\n"); if (previous[0]>p[0] && previous[1]>p[1]) printf(" left <<<--- up\n"); if (previous[0]>p[0] && previous[1]<p[1]) printf(" left <<<--- down\n"); if (previous[0]==p[0] && previous[1]<p[1]) printf(" right --->>>\n"); if (previous[0]<p[0] && previous[1]==p[1]) printf(" up\n"); if (previous[0]==p[0] && previous[1]>p[1]) printf(" left <<<--- \n"); if (previous[0]>p[0] && previous[1]==p[1]) printf(" down\n"); if (previous[0]==p[0] && previous[1]==p[1]) printf(" stable\n"); previous[0]=p[0]; previous[1]=p[1]; } cvReleaseCapture( &capture ); return 0; }
  4. Всем привет! Установил OpenCV 2.0.0 для таргета ARM ./configure --host=arm-linux --disable-shared make make install Когда компилирую программу $TARGET-g++ -o hello_arm make.cpp `pkg-config opencv --cflags --libs` Выдает ошибку cc1plus: warning: include location "/usr/local/include/opencv" is unsafe for cross-compilation /home/borys/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/../../../../arm-none-linux-gnueabi/bin/ld: warning: library search path "/usr/local/lib" is unsafe for cross-compilation /home/borys/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /usr/local/lib/libcv.a when searching for -lcv /home/borys/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lcv collect2: ld returned 1 exit status Проверил пути до библиотек pkg-config opencv --cflags --libs Всё в порядке -I/usr/local/include/opencv -L/usr/local/lib -lcv -lhighgui -lcvaux -lml -lcxcore В чём может быть проблема компиляции?
  5. Компиляция программы для ARM

    Решение моей проблеммы http://www.theopenrobotproject.org/tiki-index.php?page=OpenCV что такое смарт?
  6. Попробовал на другом компе, и с версией OpenCV 2.0.0. Видео работает. Так и не знаю, в чём была проблема =)
  7. А как собрать программу с отладочной версией?
  8. Не помогает. Функция cvCaptureFromAVI возврощает NULL. Сперва думал что не тот формат ави файла, с помощью пограммы mencode перевёл в нужный ави формат, как написано на официальном сайте.
  9. Помогите, пожалуйста!!!! А то такая банальная прога не работает!!!
×