bonjour,
j'ai un problème avec mon programme. Mon but est de capturer en temps réel une image d'une caméra matrixvision en utilisant opencv. J'utilise un pointeur pour accéder directement à l'image, mais lors de l'affichage l'image est répété.
Morceau du programme s'occupant de l'image :
merci d'avance.
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
23
24
25
26
27
28 Mat img(768,1024, CV_8UC3); char* p = (char*)pRequest->imageData.read(); int ctn=0; for(int i = 0; i <768; i++) { for(int j = 0; j <1024; j++) { int r = (int) p[0+ctn]; int g = (int) p[1+ctn]; int b = (int) p[2+ctn]; img.at<Vec3b>(i,j)[0]= g; img.at<Vec3b>(i,j)[1]= b; img.at<Vec3b>(i,j)[2]= r; ctn = ctn+3; } } cvNamedWindow( "test", CV_WINDOW_AUTOSIZE ); imshow( "image", img ); waitKey(0); }
Partager