Ask Your Question

Revision history [back]

banana pi camera not working

I got a Banana Pi with the Banana Pi Camera. I would like to get a video stream with OpenCV.

The Banana Pi runs current Bananian (uname: bananapi 3.4.104-bananian, lsb_release: Debian GNU/Linux 7.8 (wheezy)) and using the stock OpenCV (opencv_2.3.1-11).

When the program (please find attached) is running, it gives the error message: VIDIOC_QUERYMENU: Inappropriate ioctl for device

and does not display the correct image from the camera.

What is wrong with it?

`

include <iostream>

include <cv.h>

include <highgui.h>

using namespace std;

int main(int argc, char*argv[]){

int t = 0;

cvNamedWindow("Webcam", CV_WINDOW_AUTOSIZE);

CvCapture* capture = 0;
capture = cvCaptureFromCAM(-1);

if (!capture) {
    printf("could not open camera device");
    fflush(stdout);
}

IplImage *frame;

while(TRUE){
    cvGrabFrame(capture);
    // add cvGrabFrame to always use the specific buffer:
    cvGrabFrame(capture);
    cvGrabFrame(capture);
    cvGrabFrame(capture);
    frame = cvRetrieveFrame(capture, 0);
    cvShowImage("Webcam", frame);

    if(cvWaitKey(10) >= 0) break;
}

cvReleaseCapture(&capture);
cvDestroyWindow("Webcam");

return EXIT_SUCCESS;

} `

banana pi camera not working

I got a Banana Pi with the Banana Pi Camera. I would like to get a video stream with OpenCV.

The Banana Pi runs current Bananian (uname: bananapi 3.4.104-bananian, lsb_release: Debian GNU/Linux 7.8 (wheezy)) and using the stock OpenCV (opencv_2.3.1-11).

When the program (please find attached) is running, it gives the error message: VIDIOC_QUERYMENU: Inappropriate ioctl for device

and does not display the correct image from the camera.

What is wrong with it?

`

include <iostream>

include <cv.h>

include <highgui.h>

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

using namespace std;

std; int main(int argc, char*argv[]){

char*argv[]){
int t = 0;
 cvNamedWindow("Webcam", CV_WINDOW_AUTOSIZE);
 CvCapture* capture = 0;
 capture = cvCaptureFromCAM(-1);
 if (!capture) {
  printf("could not open camera device");
 fflush(stdout);
 }
 IplImage *frame;
 while(TRUE){
 cvGrabFrame(capture);
  // add cvGrabFrame to always use the specific buffer:
 cvGrabFrame(capture);
 cvGrabFrame(capture);
 cvGrabFrame(capture);
  frame = cvRetrieveFrame(capture, 0);
 cvShowImage("Webcam", frame);
  if(cvWaitKey(10) >= 0) break;
 }
 cvReleaseCapture(&capture);
 cvDestroyWindow("Webcam");
 return EXIT_SUCCESS;
}

} `