I hope I'm doing something idiotic and there is a simple fix for this but, every time I try to take a threshold on an image it crashes.
I'm trying to do simple background subtraction and then take a threshold on the resultant image (to later use as a mask). Here is the relevant code:
src.convertTo(src, CV_8UC1, 1.0/256.0, 0);
if(firstFrame) {
src.copyTo(background);
firstFrame = false;
}
cv::addWeighted(src, .001, background , .999, 0, background);
cv::absdiff(src, background, difference);
cv::threshold(difference, thresh, 100, 1, cv::THRESH_BINARY);
src, background,difference, and thresh are all created as cv::Mat In the header.
The code crashes on the last like when I try the call to cv::theshold. I can call imshow on src, background, and difference and they all look reasonable.
I'm using OpenCV 2.4.5 under c++ using VS2010.
Any help or suggestions would be appreciated.