以下是我的程序:
#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
Mat image = imread("/Users/hanxu/Pictures/me.jpg", CV_LOAD_IMAGE_GRAYSCALE);
if (!image.data) {
cout << "Image load failed" << endl;
return -1;
}
namedWindow("Image_Colored");
imshow("Image_Colored", image);
waitKey(0);
return 0;
}
出现错误:
/usr/local/include/opencv2/flann/lsh_table.h:196:14: Use of undeclared identifier 'use_speed_'
代码是:
#if USE_UNORDERED_MAP
if (!use_speed_) buckets_space_.rehash((buckets_space_.size() + dataset.rows) * 1.2);
#endif
最初,Xcode不支持unordered_map,我将构建设置中的"C++标准库"更改为"支持C++11"。
我通过更改lsh_table.h 中的此行解决了这个问题
if (!use_speed_) buckets_space_.rehash((buckets_space_.size() + dataset.rows) * 1.2);
至
buckets_space_.rehash((buckets_space_.size() + dataset.rows) * 1.2);
你可以在上找到更多信息https://github.com/mariusmuja/flann/pull/51/files