opencv程式除錯問題及解決方案1
本人很菜,也沒怎麼學習過C++,opencv程式執行時經常出錯,所以把問題和解決方案都記下來以免再犯。
OpenCV的feature2d module中提供了從區域性影象特徵(Local image feature)的檢測、特徵向量(feature vector)的提取,到特徵匹配的實現。其中的區域性影象特徵包括了常用的幾種區域性影象特徵檢測與描述運算元,如FAST、SURF、SIFT、以及ORB。對於高維特徵向量之間的匹配,opencv主要有兩種方式:1)BruteForce窮舉法;2)FLANN近似K近鄰演算法(包含了多種高維特徵向量匹配的演算法,例如隨機森林等)。
opencv特徵檢測和匹配程式執行常見錯誤及解決方法
1)使用特徵點檢測需要增加使用一下兩個標頭檔案:
#include "opencv2/nonfree/nonfree.hpp"
#include "opencv2/legacy/legacy.hpp"
2)Vector容器使用時報錯:程式碼中顯示缺少類模板“std::vector”的引數列表
解決方案:可以看標頭檔案中類的定義,
正確使用:
std::vector<DMatch> matches;
std::vector<KeyPoint> queryKeypoints, trainKeypoints;
std::vector<vector<DMatch>> knnmatches;
initModule_nonfree();//報錯,標頭檔案加#include "opencv2/nonfree/nonfree.hpp"解決
3)Error1error C1075: end of file found before the left brace '{' at 'd:\program files (x86)\opencv2_4_13\projectopencv2413\featuredetectedandmatch\feature2d\feature2d\source.cpp(27)' was matched
原因:缺少"}",是括號不匹配的問題或
4)main函式的引數列表儲存了輸入引數的資訊,第一個引數argc記錄了輸入引數的個數,
int