Малина Pi перестает реагировать при запуске opencv

Я успешно установил OpenCV на моем малине Pi и обманывал себя с помощью простой потоковой передачи веб-камеры, обнаружения в режиме реального времени и т. д., используя все основные C и C ++-коды. Тем не менее, у меня проблемы с двумя веб-камерами, которые я использую. Первый, действительно простой, дешевый Logitech, с которым я сидел, отлично работает, но качество изображения оставляет желать лучшего. Но когда я переключаюсь на свою камеру Logitech 510c, изображение намного лучше, но Pi замерзает. Скорее, потоковая программа продолжает работать нормально, но я не могу выйти из программы - Pi перестает отвечать на клавиатуру и мышь, и единственный способ выйти из нее - отключить Pi. Вот пример некоторого кода:

#include <cv.h> 
#include <highgui.h>
#include <stdio.h>

int main(){

  int c, i, j;

  //capture frame from camera
  CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY);
  if(!capture){
    fprintf(stderr, "Error: capture is NULL \n");
    getchar();
    return -1;
  }
  //set resolution of capture
  cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH, 256);
  cvSetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT, 192);

  //create window for display
  cvNamedWindow("canny");

  while(true){

    //find/mark edges using canny
    IplImage* frame = cvQueryFrame(capture);
    IplImage* grey = cvCreateImage(cvGetSize(frame), 8, 1);
    cvCvtColor(frame, grey, CV_RGB2GRAY);
    IplImage* frame2 = cvCreateImage(cvSize(grey->width+6, grey->height+6), grey->depth, grey->nChannels);

    CvPoint offset = cvPoint(3,3);
    cvCopyMakeBorder(grey, frame2, offset, IPL_BORDER_REPLICATE, cvScalarAll(0));
    IplImage* edges = cvCreateImage(cvGetSize(frame2), IPL_DEPTH_8U, frame2->nChannels);
    cvCanny(frame2, edges, 4900, 39200, 7);

    cvShowImage("canny", edges);

    //wait for a keypress
    int c = cvWaitKey(10);
    if (c!=-1) break;


  } //end while

  cvReleaseCapture (&capture);
  cvDestroyWindow("canny");
  return 0;

} //end main

Есть ли проблема с моим кодом? Нужно ли использовать другую веб-камеру? Я разогнал Pi; может ли он просто не обрабатывать поток с помощью камеры более высокого качества?

4 голоса | спросил crypto 8 Jpm1000000pmTue, 08 Jan 2013 22:40:03 +040013 2013, 22:40:03

1 ответ


4

Вы пробовали:

lsmod

rmmod uvcvideo

modprobe uvcvideo nodrop=1 timeout=5000 quirks=0x80

Также попробуйте удалить все «авто» настройки с помощью guvcview

Он отлично работал для меня. Он работает 24 часа подряд с устойчивым 15fps @ 320x240.

Подробнее см. для . р>

Приветствия

ответил Bagaboo 5 MarpmTue, 05 Mar 2013 17:26:33 +04002013-03-05T17:26:33+04:0005 2013, 17:26:33

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132