Проверьте, является ли мат черным изображением

Может быть, простой вопрос, но, поскольку я нуб, я не знаю, как сделать это элегантно. Я анализирую видео. Для этого я беру различия между кадрами. Если ничего не изменилось, результирующий кадр будет пустым или черным, если я покажу его с помощью imshow(...). Как узнать, ищу ли я одну из этих черных (пустых) рамок?

Я старался:

Mat threshold_output;
...
threshold_output.empty() --> does not work
or
threshold_output == 0 --> compiler error

Может кто подскажет :).

Спасибо


person user2175762    schedule 29.12.2013    source источник
comment
Я думаю, вы найдете свой ответ здесь: stackoverflow.com/questions/13907574/   -  person epoyraz    schedule 29.12.2013
comment
if (countNonZero(NewData) ‹ 1) сделал свое дело! Спасибо!   -  person user2175762    schedule 29.12.2013


Ответы (2)


вы можете использовать minMaxLoc и проверить, равен ли maxVal == 0 :

// Localizing the best match with minMaxLoc
double minVal; double maxVal; 

minMaxLoc( threshold_output, &minVal, &maxVal);
person Rosa Gronchi    schedule 01.01.2014

Я решил проблему с этим:

if (countNonZero(NewData) < 1) 
{
    cout << "Eye contact occurs in this frame" << endl;
}

Спасибо!

person user2175762    schedule 31.12.2013