Я пытаюсь вычесть с помощью bitwise_and и BackgroundSubtractor, но у меня такая ошибка:
Ошибка OpenCV: утверждение не удалось ((mtype == CV_8U || mtype == CV_8S) && _mask.sameSize (* psrc1)) в cv :: binary_op, файл C: \ build \ master_winpack-build-win64-vc14 \ opencv \ modules \ core \ src \ arithm.cpp, строка 241
код:
Mat frame1;
Mat frame_mask;
bool bSuccess = cap.read(frame1);
if (!bSuccess) //if not success, break loop
{
cout << "Cannot read a frame from video stream" << endl;
break;
}
pMOG2->apply(frame1, frame_mask);
Mat kernel = Mat::ones(frame1.size(), CV_8UC1);
erode(frame1, frame_mask, kernel);
bitwise_and(frame1, frame1, frame, frame_mask);
Ошибка возникает, когда я использую bitwise_and (...) после размытия. По отдельности работают нормально.
Я использовал OpenCV 3.2.0 и VS15. Я новичок в OpenCV, не могли бы вы сказать, что я делаю не так? Спасибо.