- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我试图提取一些 SURF 关键点,但我想强加这些关键点!因此,我将最后一个参数设置为“true”,即“useProvidedKeypoints”。
另外,当我创建我的关键点时,我使用了默认构造函数(所以那里有一些默认值)。我只改变点“pt”和我设置为 3 的 Octave 。
我正在使用带有 SURF 的 C++ 接口(interface)。但我知道问题出在 cvExtractSURF,因为我复制了我的那部分代码来帮助我调试。
当我调用该函数时,最后一个参数设置为 true,我得到了这个错误:
OpenCV Error: Bad argument (Unknown array type) in cvarrToMat, file /home/widgg/opencv/trunk/modules/core/src/matrix.cpp, line 651
terminate called after throwing an instance of 'cv::Exception'
what(): /home/widgg/opencv/trunk/modules/core/src/matrix.cpp:651: error: (-5) Unknown array type in function cvarrToMat
for (json_pt_info_vector::iterator b_beg = beg->points.begin(); b_beg != b_end; ++b_beg)
{
int layer_id = b_beg->layer_id;
json_point_info_coord &jpic = b_beg->coord;
jpic.feature_id = features[layer_id].keypoints.size();
KeyPoint kp;
kp.octave = 3;
kp.pt.x = jpic.x;
kp.pt.y = jpic.y;
features[layer_id].keypoints.push_back(kp);
}
SURF surf(300, 3, 4);
for (int i = 0; i < nb_img; ++i)
{
debug_msg("extract_features #4.1");
cv::detail::ImageFeatures &cdif = features[i];
Mat gray_image = imread(param.layer_images[i], 0); // 0 = force to gray scale!
debug_msg("extract_features #4.2");
vector<float> descriptors;
debug_msg("extract_features #4.3");
surf(gray_image, Mat(), cdif.keypoints, descriptors, true); // MUST BE TRUE TO FORCE THE PROVIDED KEYPOINTS
debug_msg("extract_features #4.4");
cdif.descriptors = Mat(descriptors, true).reshape(1, (int)cdif.keypoints.size());
debug_msg("extract_features #4.5");
gray_image.release();
debug_msg("extract_features #4.6");
images[i] = imread(param.layer_images[i]); // keep the image open
}
extractor.compute(gray_image, cdif.keypoints, cdif.descriptors);
最佳答案
我很惊讶调用 surf(gray_image, Mat(), cdif.keypoints, descriptors, true)
甚至编译。 descriptors
参数应该是 cv::Mat,而不是向量。
关于opencv - 当 useProvidedKeypoints = true 时,cvExtractSURF 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144106/
我正在尝试实现使用 JavaCv Surf 的示例。我下载了示例代码、.jar 文件并安装了官方网页要求的所有内容 (http://code.google.com/p/javacv/)。但似乎缺少一个
我正在使用 OpenCV 函数:cvExtractSURF 但我发现了一个主要的内存泄漏。有没有人成功实现过这个电话? 我的代码如下: IplImage *cvImage = [self Create
我在 Mac 上将以下代码与 OpenCV 结合使用。以下函数从另一个函数接收图像文件的路径,并且工作正常。但是,cvExtractSURF 会抛出一个异常说明: OpenCV Error: Inco
所以,我试图提取一些 SURF 关键点,但我想强加这些关键点!因此,我将最后一个参数设置为“true”,即“useProvidedKeypoints”。 另外,当我创建我的关键点时,我使用了默认构造函
我是一名优秀的程序员,十分优秀!