Почему бы вам не попробовать что-то следующее:
Mat black = Mat::zeros(Size(100, 100), CV_8UC1);
vector< vector<Point> > contours;
if(sum(black).val[0] > 0.0)
{
findContours(black, contours, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);
}
else
{
cout << "It's a black image, so I'm not going to do anything..." << endl;
}
Это использует интерфейс C ++, но вы должны иметь возможность использовать cvSum
, чтобы выполнить то же самое. Таким образом, если изображение полностью черное, это означает, что изображение содержит только нули. Таким образом, сумма будет равна нулю, когда это черная маска.