OpenCVとアナログカメラを使用したプログラムを作成している際に「アクセス違反」のエラーが発生してしまいます.
マルチスレッドでプログラミングをしており,1つ目のスレッドでカメラから取得した画像をcv::Matに変換しています.この画像を2つ目のスレッドで画像処理を行おうとしています.

<画像を取得しているスレッド>

cv::Mat frame;
DWORD WINAPI ImageThread(LPVOID lpData)
{   
    while (!lpd->bEnd){

        if (mJpegData != nullptr&&mJpegSize > 0) {
            std::vector<unsigned char> tmp(mJpegData, mJpegData + mJpegSize);
            frame = cv::imdecode(tmp, cv::IMREAD_COLOR);
            cv::imwrite("img_debug.bmp", frame);
        }
    }
    return 0;
}

<画像をコピーしているスレッド>

DWORD WINAPI ConThread(LPVOID lpData)
{
    cv::Mat img;

    while (!lpd->bEnd){
        if (!frame.empty) {
            img = frame.clone();  //ここをコメントアウトするとエラーは発生しない
        }
    }
}

OpenCVのバージョンは3.3を使用しております.
どなたか解決法を教えていただけないでしょうか.