?? snake.h
字號:
#ifndef SNAKE_H
#define SNAKE_H
// OpenCV includes:
#ifdef _CH_
#pragma package <opencv>
#endif
#ifndef _EiC
#include "cv.h"
#endif
// forwared declarations
class QtCvWrapper;
//! The snake class implements the snake algorithm
/*!
* The snake class implements the snake algorithm from the OpenCV library.
* cvSnakeImage is called within an iteration until the maximum number of
* iteration is reached or the error reaches a certain minimum.
*
* \param parent is just the connection to the application that makes use of the Snake class
* \param inImg represents the initial image for Snake segmentation
*
* \todo more detailed constructors to set paramaters at creation time
* \todo alpha, beta and gamma could be vectors -> make it configurable
*/
class Snake
{
public:
//! constructor of the snake class
Snake(QtCvWrapper* parent, IplImage* inImg);
//! destructor
virtual ~Snake(void);
//! sets the input image for the snake algorithm
inline bool setInImg(IplImage* inImg){m_inImg = inImg;};
//! returns the actual input image for snake algorithm
inline IplImage* getInImg(){return m_inImg;};
//! returns actual snake image
inline IplImage* getSnakeImage(){return m_snakeImg;};
//! initializes a first version of the curve
void initSnakeCurve();
//! initialize a special snake curve
void initSnakeCurve(CvPoint* pt);
//! tries to approximate the contour curve with numIterations
IplImage* iterateSnakeCurve(int numIterations, bool showIterations);
protected:
private:
//! parent that sets connection to the "outside"
QtCvWrapper* m_parent;
IplImage* m_inImg; //! input Image
IplImage* m_snakeImg; //! image with the snake included
CvTermCriteria m_crit; //! stopping criteria
CvPoint* m_snakeCurve; //! curve that represents the snake
// some constants
float m_alpha; //! Weight of continuity energy, single float or array of length floats, one per each contour point.
float m_beta; //! Weight of curvature energy, similar to alpha.
float m_gamma; //! Weight of image energy, similar to alpha.
CvSize m_winSize; //! Size of neighborhood of every point used to search the minimum (use odd numbers!)
int m_numSegments; //! number of segments the snake curve is divided
int m_numIteration; //! number of iterations the snake algorithm tries to fit the object
};
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -