I'm trying to do frame difference with below code. when I run it it show only first frame and crashes . can you help to see why this is happening 

```
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>

using namespace std;
using namespace cv;

int main()

{
cv::Mat frameCurrent, framePrev;
cv::Mat  frameAbsDiff=;
//prepare Mats
VideoCapture cap("e.mp4");

cap >> frameCurrent;

framePrev = cv::Mat::zeros(frameCurrent.size(), frameCurrent.type());

cvtColor(frameCurrent, frameCurrent, CV_BGR2GRAY);

frameCurrent.copyTo(framePrev);

while (1)
{
    if (frameCurrent.empty()) {
        std::cout << "Frame1Message->End of sequence" << std::endl;
        break;
    }

    cv::absdiff(frameCurrent, framePrev, frameAbsDiff);

    imshow("frameCurrent", frameCurrent);
    imshow("frameAbsDiff", frameAbsDiff);

    if (waitKey(90) == 27)
        break;

    frameCurrent.copyTo(framePrev);
    cap >> frameCurrent;
}
}

```

> 
> OpenCV Error: Sizes of input arguments do not match (The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor 'scalar op array') in cv::arithm\_op, file C:\builds\2\_4\_PackSlave-win64-vc12-shared\opencv\modules\core\src\arithm.cpp, line 1287
> 
> 
>