1

我是 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意思?他们如何检查无效输入?

4

1 回答 1

6

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

它相当于在 C++11 中image.dataNULL0或进行比较。nullptr

于 2013-06-17T14:43:30.270 回答