最近在做物体的位姿识别程序,也看了许多的相关论文。但仅仅是看并不能有什么掌握,发现opencv中就有对linemod的实现。准备先把该方法看一遍,具体的实现过程日后再说,先看看是如何使用的。
openCV中的应用例子
应用起来其实重要的也就这几句
// LINEMOD 探测子的初始化(可以读取已有模型,或者空模型)
cv::Ptr<cv::linemod::Detector> detector; // linemod探测子初始化
// detector可以通过读取 yml,xml文件读取
detector = readLinemod(fileName); //absPath + 'name.yml"
static cv::Ptr<cv::linemod::Detector> readLinemod(const std::string& filename)
{
cv::Ptr<cv::linemod::Detector> detector = cv::makePtr<cv::linemod::Detector>();
cv::FileStorage fs(filename, cv::FileStorage::READ);
detector->read(fs.root());
cv::FileNode fn = fs["classes"];
for (cv::FileNodeIterator i = fn.begin(), iend = fn.end(); i != iend; ++i)
detector->readClass(*i);
return detector;
}
// detector也可以为空
detector = cv::linemod::getDefaultLINEMOD();
学习模板的时候&#