Guest User

Untitled

a guest
May 25th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include "opencv/cv.h"
  2. #include "opencv/highgui.h"
  3. #include <stdio.h>
  4.  
  5. using namespace std;
  6. using namespace cv;
  7.  
  8. bool do_track = false;
  9.  
  10. int clicked_x = -1;
  11. int clicked_y = -1;
  12. void mousehandler( int event, int x, int y, int flags, void* param )
  13. {
  14. clicked_x = -1;
  15. if( event == CV_EVENT_LBUTTONDOWN )
  16. {
  17. clicked_x = x;
  18. clicked_y = y;
  19. printf("clicked %d %d\n", x,y);
  20. }
  21. }
  22.  
  23.  
  24.  
  25. int main()
  26. {
  27. CvCapture* zaznam = cvCaptureFromCAM( CV_CAP_ANY); //zaznamenavanie z kamery
  28. if ( !zaznam )
  29. {
  30. fprintf( stderr, "Chyba! zaznam je bez hodnoty \n ");
  31. getchar();
  32. return -1;
  33. }
  34.  
  35.  
  36. cvNamedWindow("video",CV_WINDOW_AUTOSIZE);
  37.  
  38. cvNamedWindow("hsv",CV_WINDOW_AUTOSIZE);
  39. cvSetMouseCallback("hsv", mousehandler );
  40.  
  41.  
  42. while (true)
  43. {
  44. IplImage *snimok = cvQueryFrame(zaznam);
  45. if (!snimok)
  46. {
  47. fprintf( stderr, "Chyba! snimok je bez hodnoty");
  48. getchar();
  49. break;
  50. }
  51.  
  52. cvFlip(snimok,snimok,1);
  53. CvSize imgsize = cvGetSize(snimok);
  54. IplImage* recHSV = cvCreateImage(imgsize, 8, 3);
  55. cvCvtColor(snimok, recHSV, CV_BGR2HSV);
  56. if ( clicked_x != -1 )
  57. {
  58. char * pixel = recHSV->imageData + (clicked_x +clicked_y * imgsize.width) * 3;
  59. int h = (uchar)pixel[0];
  60. int s = (uchar)pixel[1];
  61. int v = (uchar)pixel[2];
  62. printf("%d %d %d\n", h, s, v );
  63. }
  64.  
  65. cvShowImage("hsv",recHSV);
  66. cvShowImage("video",snimok);
  67. if ( cvWaitKey(10) > 0 )
  68. break;
  69. }
  70. cvReleaseCapture( &zaznam );
  71. cvDestroyWindow ("Moje Okno");
  72. return 0;
  73.  
  74. }
Add Comment
Please, Sign In to add comment