1. 程式人生 > >opencv——特徵檢測

opencv——特徵檢測

繪製關鍵點的drawKeypoints()函式:

void drawKeypoints(
		    const Mat &image,//輸入影象
		    const vector<KeyPoint> &keypoints,//根據源影象得到的特徵點,它是一個輸出引數
		    Mat &outImage,//輸出影象,內容取決於第五個引數
		    const Scalar &color=Scalar::all(-1),//關鍵點的顏色
		    int flag=DrawMatchesFlags::DEFAULT)//繪製關鍵點的特徵識別符號
``

struct DrawMatchesFlags
{
	enum
	{
        	DEFAULT=0,//建立輸出圖形矩陣;使用現存的輸出影象繪製匹配對和特徵點;對每個關鍵點,只繪製中間點
        	DRAW_OVER_OUTIMG=1,//不建立輸出影象矩陣,而是在輸出影象上繪製匹配對
        	NOT_DRAW_SINGLE_POINTS=2,//單點特徵點不被繪製
        	DRAW_RICH_KEYPOINTS=4//所有關鍵點,繪製帶大小和方向的關鍵點圓圈
        }
};

KeyPoint類:

class KeyPoint
{
	Point2f pt;//座標
	float size;//特徵點鄰域直徑
	float angle;//特徵點的方向,取值[0,360),負值表示不使用
	float response;//
	int octave;//特徵點所在金字塔的組
	int class_id;//用於聚類的id
}