什么'! image.data'在C ++中意味着什么?

时间:2013-06-17 14:40:36

标签: c++ opencv

我是使用OpenCV和Visual Studio进行图像处理的初学者。我有一段代码,我不明白:

Mat image;
image = imread(filename, IMREAD_COLOR); // Read the file
if (! image.data )                      // Check for invalid input
{
    cout <<  "Could not open or find the image" << std::endl ;
    return -1;
}

在第三行中,!.data是什么意思?他们如何检查无效输入?

1 个答案:

答案 0 :(得分:6)

cv::Mat::data是指向cv::Mat对象内部保存的数据缓冲区的指针。如果它的计算结果为false,则表示没有加载数据,并且无法取消引用指针。

相当于将image.data与{+ 1}},NULL0在C ++ 11中进行比较。