данные кадра содержат значение мусора, когда камера используется другим приложением

Поэтому я использую OpenCV и Affdex SDK для захвата изображения и обработки эмоций. Но когда камера используется другим приложением, то

        // Capture an image from the camera
cv::Mat frame_image;
if (!video_capture.read(frame_image)) {}

read по-прежнему возвращает true, но, однако, frame_image.data содержит значение мусора в отладочной версии, но в выпускной версии оно пустое. Я использовал этот код в версии выпуска, чтобы определить, пустые ли данные:

bool CEmotionTracker::is_frame_data_empty(const uchar *frame_data) const
{
if (frame_data && frame_data[0] == '\0')
return true;

return false;
}

но это не будет работать в отладочной версии из-за значения мусора, и я не думаю, что это хорошая идея, чтобы проверить, содержат ли данные значение мусора, чтобы определить, содержат ли они правильные данные фрейма или нет. Есть ли способ проверить, содержит ли frame_image.data действительные данные или нет?

Редактировать:

frame_image.empty () вернет false, так что это не то, что я ищу

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]