0

在我的代码中,我不想从图像中读取数据,例如

    cv::Mat img_1 = imread("F:\1.tif");

相反,我想从指针读取数据:

    float* srcImage;//pointer to image data
    cv::Mat img_1(height, width, CV_32FC1, srcImage);

但是,我发现,通过这种方式,当我在下面的 ORB 函数中使用 img_1 时,它不起作用

    cv::ORB orb;
vector<cv::KeyPoint> keyPoints_1;
cv::Mat descriptors_1;
orb(img_1, cv::Mat(), keyPoints_1, descriptors_1);

如何将数据从指针传递给 Mat?imread() 函数和从指针传递数据之间有什么区别吗?或者,cv::ORB 函数有什么特殊要求吗?

非常感谢!我对 OpenCV 不熟悉,我刚开始使用它几个星期,我只需要解决这个问题,我的代码的其余部分取决于这部分的结果。

4

1 回答 1

1

orb 想要一个 8 位灰度图像作为输入,而不是 CV_32FC1

于 2013-08-13T06:17:22.757 回答