bonsoir,
je voudrais développer un programme utilisant opencv sur une plateforme embarqué mais lorsque je lance le programme de test suivant, j'obtiens un "segmentation fault".
j'obtiens le même résultat sur mon PC lorsque je ne branche pas la webcam...
pourtant, la webcam est bien reconnue sur ma plateforme embarqué:
pour l'instant, ma théorie serait un codec qu'utiliserais opencv pour lire le flux vidéo de la webcam qui serait présent sur mon PC et pas sur ma plateforme embarqué. mais ce n'ai qu'une idée... et je ne sais même pas si opencv utilise un codec pour décodé le flux video...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 #lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 046d:08ce Logitech, Inc. QuickCam Pro 5000 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
voici le code de teste :
si vous avez d'autre piste, n'hésiter pas à m'en faire part.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include <opencv/cv.h> #include <opencv/cxcore.h> #include <opencv/highgui.h> int main() { CvCapture* capture = cvCaptureFromCAM(0); IplImage* frame; frame = cvQueryFrame( capture ); IplImage* img = cvCreateImage(cvSize(150,150), frame->depth, frame->nChannels); IplImage* gray_out = cvCreateImage( cvGetSize(img), IPL_DEPTH_8U,1); IplImage* canny_out = cvCreateImage( cvGetSize(img), IPL_DEPTH_8U,1); cvResize(frame,img,CV_INTER_AREA); cvCvtColor(img , gray_out, CV_RGB2GRAY); cvCanny( gray_out, canny_out, 70, 100, 3 ); cvReleaseCapture( &capture ); return 0; }
merci
à bientôt
Partager