Opencv 将uint64_t转换为cv::mat

Opencv 将uint64_t转换为cv::mat,opencv,type-conversion,uint64,opencv-mat,Opencv,Type Conversion,Uint64,Opencv Mat,我所拥有的: std::vector<cv::KeyPoint> keypoints; uint64_t* desc = new uint64_t[8 * keypoints.size()]; cv::Mat test = (keypoints.size(), 8, CV_8UC1, desc); 这是行不通的。我错过了什么 错误消息是: 没有合适的构造函数将uint64_t*转换为cv::Mat,并且无法使用unsigned long long类型的左值

我所拥有的:

 std::vector<cv::KeyPoint> keypoints;
    uint64_t* desc = new uint64_t[8 * keypoints.size()];    
    cv::Mat test = (keypoints.size(), 8, CV_8UC1, desc);
这是行不通的。我错过了什么

错误消息是: 没有合适的构造函数将uint64_t*转换为cv::Mat,并且无法使用unsigned long long类型的左值初始化cv::Mat类型的局部变量测试
谢谢

调用cv::Mat构造函数的语法不正确,请尝试:

cv::Mat test(keypoints.size(), 8, CV_8UC1, desc);

告诉我们你看到了什么错误?另外,前两个参数是图像的宽度和高度,除非您有8x8像素的图像,否则这可能是错误的。对不起,我编辑了我的问题以反映实际代码并添加了错误消息。哈哈,您是对的。我在寻找一些复杂的东西,其实很简单。非常感谢。