Demo entry 6285512

#ifndef GUSIFT_H__ #define GUSIFT_H__ using namespace cv; using namespace std; struct DoGData // DoG 데이터를 저장하는 공간 { Mat scale[4][4]; int w[4]; int h[4]; }; struct Ddata // KeyPoint 데이터 저장 공간 { in

   

Submitted by anonymous on Oct 18, 2016 at 21:56
Language: C++. Code size: 1.6 kB.

#ifndef GUSIFT_H__
#define GUSIFT_H__

using namespace cv;
using namespace std;
struct DoGData	// DoG 데이터를 저장하는 공간
{
	Mat scale[4][4];
	int w[4];
	int h[4];
};
struct Ddata	// KeyPoint 데이터 저장 공간
{
	int x;
	int y;
	float seta;
};

class cGuSIFT		// cGuSIFT 클레스
{
private:
	vector<Ddata> m_vDpoint;		// KeyPoint를 linked list 형태로 저장
	Mat				m_GrayImage;	// 입력한 이미지를 회색 이미지로 변환 저장
	Mat				m_InputImage;	// 이미지 입력 저장
public:

private:
	Mat GetDoG(Mat src, float Sigma1,float Sigma2,int octave);					
// 입력한 이미지의 DoG를 구함
	DoGData onDoG(Mat src,float _Sigma,float _K);								
// 4옥타브,4 Dog(총 16개의 이미지)를 저장함
	float GetD(float D0,float dx,float dy,float ds,float D1);					
// 논문에서 Dog의 D를 테이러 공식에 따라 구함
	bool onEliminationEdgePoint(float Dxx,float Dxy, float Dyy,float Dxy1);		
// 에지 포인터를 찾고 지움
	void onPeakDetection(DoGData a,int ty);										
// KeyPoint를 찾음
//( ty =1: Maxima in D , 
//ty =2: Low-Contrast Points Eliminated , 
//ty =3 : Edge Points Eliminated) 
	float GetMagnitude(Mat src, float Sigma1);									
// 각 KeyPoint를 샘플링하여, 경사도에 따른 각도를 구함
//-> 각도의 히스토 그램을 통해 값을 통해 최종 각도를 구함
	void Getseta(Mat src);														
// 경사도에 따른 각도 구함
	Mat onHistogram(Mat src);													
// 이미지의 밝기를 평준화 시키기 위함 히스토 그램 평준화

public:
	cGuSIFT(); // 생성자 
	~cGuSIFT(); // 소멸자	

	void	init(const char * name); // 초기화( 변환 시킬 이미지의 주소를 받음)
	void	Release(); // 메모리 초기화(해제)
	void	FrameMove(); // SIFT 수행
	Mat		ShowResult(); // SIFT 결과를 인풋 데이터에 그려서 보여줌

	Ddata	GetKeyPoint(int id); // 인덱스에 따른 KeyPoint의 위치값과 각도를 반환함
	int		GetSizeKeyPointSize(); // KeyPoint의 개수를 리턴함

};

#endif

This snippet took 0.01 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).