Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Pixcel values in 2 different frames always show to be the same.

I capture 2 different frames yet when I try to compare pixcel values between the 2 frames, they appear to be identical. I am probable misusing Vec3b. Please help an obvious novice. Thanks.

// November 11 2013 Capture and display values of 2 full color frames

include "stdafx.h"

include "iostream"

include "opencv2/core/types_c.h"

include "opencv2/opencv.hpp"

using namespace cv; int main(int, char**) { VideoCapture cap(0); // open the default camera if(!cap.isOpened()) // check if we succeeded return -1;

namedWindow("frame",1);
for(;;)
{
    Mat frame;
    cap >> frame; // get frame from camera

    imshow("frame", frame);

    if(waitKey(1000) >= 0) break;

    Mat frame1;
    cap >> frame1; // get frame1 from camera    

    imshow("frame1", frame1);

    if(waitKey(1000) >= 0) break;


    for(int i=0; i<480; i++)
        for(int j=0; j<640; j++)
            {cv::Vec3b tmp1 = frame1.at<cv::Vec3b>(i,j);std::cout << "i= "<<i<<" j= "<<j<< " frame1  "<<(int)tmp1(0) << " " << (int)tmp1(1) << " " << (int)tmp1(2)<< std::endl;
             cv::Vec3b tmp = frame.at<cv::Vec3b>(i,j);std::cout << "          frame   "<<(int)tmp(0) << " " << (int)tmp(1) << " " << (int)tmp(2)<< std::endl;

    if(waitKey(1000) >= 0) break;
    }

    if(waitKey(1000) >= 0) break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;

}

click to hide/show revision 2
No.2 Revision

Pixcel values in 2 different frames always show to be the same.

I capture 2 different frames yet when I try to compare pixcel values between the 2 frames, they appear to be identical. I am probable misusing Vec3b. Please help an obvious novice. Thanks.

// November 11 2013 Capture and display values of 2 full color frames

include "stdafx.h"

include "iostream"

include "opencv2/core/types_c.h"

include "opencv2/opencv.hpp"

frames #include "stdafx.h" #include "iostream" #include "opencv2/core/types_c.h" #include "opencv2/opencv.hpp" using namespace cv; int main(int, char**) { VideoCapture cap(0); // open the default camera if(!cap.isOpened()) // check if we succeeded return -1;

 namedWindow("frame",1);
 for(;;)
 {
     Mat frame;
     cap >> frame; // get frame from camera

     imshow("frame", frame);

     if(waitKey(1000) >= 0) break;

     Mat frame1;
     cap >> frame1; // get frame1 from camera    

     imshow("frame1", frame1);

     if(waitKey(1000) >= 0) break;


     for(int i=0; i<480; i++)
         for(int j=0; j<640; j++)
             {cv::Vec3b tmp1 = frame1.at<cv::Vec3b>(i,j);std::cout << "i= "<<i<<" j= "<<j<< " frame1  "<<(int)tmp1(0) << " " << (int)tmp1(1) << " " << (int)tmp1(2)<< std::endl;
              cv::Vec3b tmp = frame.at<cv::Vec3b>(i,j);std::cout << "          frame   "<<(int)tmp(0) << " " << (int)tmp(1) << " " << (int)tmp(2)<< std::endl;

     if(waitKey(1000) >= 0) break;
     }

     if(waitKey(1000) >= 0) break;
 }
 // the camera will be deinitialized automatically in VideoCapture destructor
 return 0;
}

}