Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "opencv/cv.h"
- #include "opencv/highgui.h"
- #include <stdio.h>
- using namespace std;
- using namespace cv;
- bool do_track = false;
- int clicked_x = -1;
- int clicked_y = -1;
- void mousehandler( int event, int x, int y, int flags, void* param )
- {
- clicked_x = -1;
- if( event == CV_EVENT_LBUTTONDOWN )
- {
- clicked_x = x;
- clicked_y = y;
- printf("clicked %d %d\n", x,y);
- }
- }
- int main()
- {
- CvCapture* zaznam = cvCaptureFromCAM( CV_CAP_ANY); //zaznamenavanie z kamery
- if ( !zaznam )
- {
- fprintf( stderr, "Chyba! zaznam je bez hodnoty \n ");
- getchar();
- return -1;
- }
- cvNamedWindow("video",CV_WINDOW_AUTOSIZE);
- cvNamedWindow("hsv",CV_WINDOW_AUTOSIZE);
- cvSetMouseCallback("hsv", mousehandler );
- while (true)
- {
- IplImage *snimok = cvQueryFrame(zaznam);
- if (!snimok)
- {
- fprintf( stderr, "Chyba! snimok je bez hodnoty");
- getchar();
- break;
- }
- cvFlip(snimok,snimok,1);
- CvSize imgsize = cvGetSize(snimok);
- IplImage* recHSV = cvCreateImage(imgsize, 8, 3);
- cvCvtColor(snimok, recHSV, CV_BGR2HSV);
- if ( clicked_x != -1 )
- {
- char * pixel = recHSV->imageData + (clicked_x +clicked_y * imgsize.width) * 3;
- int h = (uchar)pixel[0];
- int s = (uchar)pixel[1];
- int v = (uchar)pixel[2];
- printf("%d %d %d\n", h, s, v );
- }
- cvShowImage("hsv",recHSV);
- cvShowImage("video",snimok);
- if ( cvWaitKey(10) > 0 )
- break;
- }
- cvReleaseCapture( &zaznam );
- cvDestroyWindow ("Moje Okno");
- return 0;
- }
Add Comment
Please, Sign In to add comment