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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
int vergelijk(int p)
{
char *img1data, *img2data, fname[15];
int s, n = 0, y = 0;
sprintf(fname, "photo%d.bmp", p - 1);
cout << "\n" << fname;
ifstream img1(fname, ios::in|ios::binary|ios::ate);
sprintf(fname, "photo%d.bmp", p);
cout << "\n" << fname;
ifstream img2(fname, ios::in|ios::binary|ios::ate);
if (img1.is_open() && img2.is_open())
{
s = (int)img1.tellg();
img1data = new char [s];
img1.seekg (0, ios::beg);
img1.read (img1data, s);
img1.close();
img2data = new char [s];
img2.seekg (0, ios::beg);
img2.read (img2data, s);
img2.close();
}
for(int i=0; i<s; i++)
if (img1data[i]==img2data[i]) y++;
return (y);
}
int main()
{
void stuurmail();
int vergelijk(int);
cvNamedWindow("CameraGuard Snapshots", CV_WINDOW_AUTOSIZE);
CvCapture *capture = cvCaptureFromCAM(CV_CAP_ANY);
IplImage *frame1, *rframe1, *frame2, *rframe2;
int i = 1, key = 0, t, v;
char fname[15];
cout << "Running... (ESC to exit)";
while (key != 27)
{
frame1 = cvQueryFrame(capture);
cvShowImage("CameraGuard Snapshots", frame1);
//rframe1 = cvCreateImage(cvSize(32, 24), frame1->depth, frame1->nChannels);
//cvResize(frame1, rframe1, CV_INTER_LINEAR);
sprintf(fname, "photo%d.bmp", i);
cvSaveImage(fname, frame1);
key = cvWaitKey(2000);
frame2 = cvQueryFrame(capture);
//rframe2 = cvCreateImage(cvSize(32, 24), frame2->depth, frame2->nChannels);
//cvResize(frame2, rframe2, CV_INTER_LINEAR);
i++;
sprintf(fname, "photo%d.bmp", i);
cvSaveImage(fname, frame2);
cout << "\nvergelijk: " << vergelijk(i);
}
cvReleaseCapture(&capture);
return 0;
}
|