📄 square.h
字号:
#include "cv.h"
#include "ConnArea.h"
class MyRect
{
public:
int Top;
int Left;
int Bottom;
int Right;
};
class Square
{
public:
bool isIDSquare;
bool isIdentified;
int width;
int height;
long InnerID;
unsigned char IDMatrix[3][3];
int BorderIDs[4];
int NearedSquare[4];
int row;
int col;
//int BorderIDInDeasil[4];
//int ConnerIDInDeasil[4];
CvPoint ConnerPoint[4];
int X;
int Y;
bool isDeasil;//四个顶点顺序是否顺时针方向
MyRect rect;
Square();
void drawConner(IplImage* img);
void drawBorder(IplImage* img,int r,int g,int b);
void drawAll(IplImage* img,int r,int g,int b);
bool isInSquare(int Point_x,int Point_y);
void drawWithIDPoint(IplImage* img);
void addIDPoint(int Point_x,int Point_y);
void updateInnerID(ConnArea* points,int ID);
void drawWithDirection(IplImage* img,int r,int g,int b);
void clear();
double Compute_X;
double Compute_Y;
double Compute_Z;
double Compute_Alpha;
double Compute_Beta;
double Compute_Gama;
private:
void switch2Point(CvPoint &pt1,CvPoint &pt2);
void switch2Border(int &BorderID1,int &BorderID2);
int getNearedSquare(ConnArea* points,int BorderID1,int BorderID2,int CurrentID);
};
bool isInSquares(Square* square,int& squareCount,int X, int Y);
void ScanSquare(IplImage* img,ConnArea* points,int id,int PointCount,int& level,int Index0,int IDList[5],Square* square,int& squareCount);
bool transferSquareID(Square* square,ConnArea* points,int squareCount, int CurrentID,int row,int col);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -