上个博客中,提取出了图像特征并存储于LevelDB库中,因此,相读取出来
1.通过C++代码遍历LevelDB库
2.编译C++代码
这有两种方法
a.
g++ -o test/myexe test/test.cpp -I leveldb/out-shared/ -I leveldb/include/ -lleveldb
b.
如果前面将库拷贝到/usr/include及/usr/lib中,则可以省略后面的-I及-L
然后sudo cp out-shared/libleveldb.so* /usr/local/lib & sudo cp -R include/* /usr/local/include
在终端执行
g++ -o test/myexe test/test.cpp -lleveldb
3,运行:
./test/myexe
1.通过C++代码遍历LevelDB库
#include <cassert>
#include <iostream>
#include <string>
#include <cstdlib>
#include <leveldb/db.h>
int main()
{
leveldb::DB *db;
leveldb::Options options;
leveldb::Status status;
std::string key1 = "";
std::string val1 = "val1", val;
options.create_if_missing = true;
status = leveldb::DB::Open(options, "/home/lw/caffe/examples/_temp/features", &db);
if (!status.ok())
{
std::cout << status.ToString() << std::endl;
exit(1);
}
//迭代遍历
leveldb::Iterator* it = db->NewIterator(leveldb::ReadOptions());
for (it->SeekToFirst(); it->Valid(); it->Next()) {
std::cout << it->key().ToString() << ": " << it->value().ToString() << std::endl;
}
assert(it->status().ok());
delete it;
std::cout << "Get val: " << val1 << std::endl;
// close
delete db;
return 0;
}
2.编译C++代码
这有两种方法
a.
g++ -o test/myexe test/test.cpp -I leveldb/out-shared/ -I leveldb/include/ -lleveldb
b.
如果前面将库拷贝到/usr/include及/usr/lib中,则可以省略后面的-I及-L
然后sudo cp out-shared/libleveldb.so* /usr/local/lib & sudo cp -R include/* /usr/local/include
在终端执行
g++ -o test/myexe test/test.cpp -lleveldb
3,运行:
./test/myexe