所以我一直在使用 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 所以这不是我要找的