OpenCV::Mat::data的值显示字符串中的字符无效,导致无法使用Mat::data

同样的函数,在另一个sln项目中,能识别到Mat::data的值,并成功运行,配置和代码都是一样的

//注释掉的地方是我尝试的不同的读取data值方法,都失败了,均提示Mat::data的值字符串无效

int GpuFeatureDetector::gpuMatch( Mat& des1, Mat& des2, vector<DMatch>& matches)
{
const uchar* Data = des1.ptr(0);

    m_siftGpuMatcher->SetDescriptors(0, des1.rows, Data);
    m_siftGpuMatcher->SetDescriptors(1, des2.rows, des2.data);

    //m_siftGpuMatcher->SetDescriptors(0, des1.rows, (float*)des1.data);
    //m_siftGpuMatcher->SetDescriptors(1, des2.rows, (float*)des2.data);

img

另一个同样的代码但运行正常,可以显示Mat::data值的结果

img

显示字符串中无效是正常的情况啊,Mat的指针都是这么显示的,关键是你运行会不会报错或者结果不对

你看看函数的调用方式是不是一样的。应该是传入的参数的问题,参数没有正确初始化之类的

Mat可以为空的