在我的代码中,我不想从图像的路径中读取数据,例如
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,我只是开始使用它几周,我只需要解决这个问题,我的代码的其余部分取决于这部分的结果。
答案 0 :(得分:1)
orb想要一个8位灰度图像作为输入,而不是CV_32FC1