8 #ifndef _FVBLOBDATA_H_INCLUDED_ 9 #define _FVBLOBDATA_H_INCLUDED_ 18 #pragma pack(push,_FVCL_PACKING) 36 enum { DataID = 1100 };
38 virtual INT GetDataID()
const;
39 virtual bool GetPointer(
INT id,
void** val )
const;
41 bool SetHandle(
FHANDLE handle );
44 bool SetBlobNo(
UINT blobno );
45 UINT GetBlobNo()
const;
52 UINT GetColor()
const;
53 bool GetColor(
UINT* color )
const;
56 bool GetArea(
UINT* area )
const;
58 UINT GetAreaWithHole()
const;
59 bool GetAreaWithHole(
UINT* area )
const;
61 UINT GetHoleNum()
const;
62 bool GetHoleNum(
UINT* holes )
const;
64 UINT GetHoleArea()
const;
65 bool GetHoleArea(
UINT* area )
const;
67 DOUBLE GetHoleRatio()
const;
68 bool GetHoleRatio(
DOUBLE* ratio )
const;
70 DOUBLE GetDistanceToChildsMax()
const;
71 DOUBLE GetDistanceToChildsMin()
const;
72 DOUBLE GetDistanceToChildsAve()
const;
75 DOUBLE GetDistanceToSiblingsMax()
const;
76 DOUBLE GetDistanceToSiblingsMin()
const;
77 DOUBLE GetDistanceToSiblingsAve()
const;
84 bool GetXYrange(
INT* xmin,
INT* ymin,
INT* xmax,
INT* ymax )
const;
88 bool GetXYdiff(
INT* xdiff,
INT* ydiff )
const;
90 INT GetXminAtYmin()
const;
91 INT GetXmaxAtYmax()
const;
92 INT GetYminAtXmax()
const;
93 INT GetYmaxAtXmin()
const;
94 bool GetMaxMinPos(
INT* xmin_at_ymin,
INT* xmax_at_ymax,
INT* ymin_at_xmax,
INT* ymax_at_xmin )
const;
96 INT64 GetMoment1SumX()
const;
97 INT64 GetMoment1SumY()
const;
98 bool GetMoment1(
INT64* sumx,
INT64* sumy )
const;
100 UINT64 GetMoment2SumX()
const;
101 UINT64 GetMoment2SumY()
const;
102 INT64 GetMoment2SumXY()
const;
105 DOUBLE GetCentralMoment2MG20()
const;
106 DOUBLE GetCentralMoment2MG02()
const;
107 DOUBLE GetCentralMoment2MG11()
const;
110 DOUBLE GetMoment3M30()
const;
111 DOUBLE GetMoment3M03()
const;
112 DOUBLE GetMoment3M21()
const;
113 DOUBLE GetMoment3M12()
const;
116 DOUBLE GetCentralMoment3MG30()
const;
117 DOUBLE GetCentralMoment3MG03()
const;
118 DOUBLE GetCentralMoment3MG21()
const;
119 DOUBLE GetCentralMoment3MG12()
const;
139 UINT GetRect1Area()
const;
140 bool GetRect1Area(
UINT* area )
const;
142 DOUBLE GetRect1Lratio()
const;
143 bool GetRect1Lratio(
DOUBLE* ratio )
const;
145 DOUBLE GetRect1Sratio()
const;
146 bool GetRect1Sratio(
DOUBLE* ratio )
const;
153 DOUBLE GetRect2Lsize()
const;
154 DOUBLE GetRect2Wsize()
const;
155 bool GetRect2Size(
DOUBLE *lsize,
DOUBLE *wsize )
const;
157 DOUBLE GetRect2Area()
const;
158 bool GetRect2Area(
DOUBLE* area )
const;
160 DOUBLE GetRect2Lratio()
const;
161 bool GetRect2Lratio(
DOUBLE* ratio )
const;
163 DOUBLE GetRect2Sratio()
const;
164 bool GetRect2Sratio(
DOUBLE* ratio )
const;
167 bool GetFeretDiameter(
DOUBLE theta,
INT mode,
DOUBLE* diameter )
const;
169 DOUBLE GetFeretDiameterMax()
const;
170 DOUBLE GetFeretDiameterMaxTheta()
const;
171 DOUBLE GetFeretDiameterMin()
const;
172 DOUBLE GetFeretDiameterMinTheta()
const;
175 DOUBLE GetPerimeter()
const;
176 bool GetPerimeter(
DOUBLE* perimeter )
const;
179 bool GetPPS(
DOUBLE* pps )
const;
185 DOUBLE GetConvexArea()
const;
186 DOUBLE GetConvexPerim()
const;
187 bool GetConvexFeature(
DOUBLE* convex_area,
DOUBLE* convex_perim )
const;
189 DOUBLE GetConvexAreaRatio()
const;
190 DOUBLE GetConvexPerimRatio()
const;
191 bool GetConvexRatio(
DOUBLE* convex_area_ratio,
DOUBLE* convex_perim_ratio )
const;
204 DOUBLE GetDistanceToBoundaryMax()
const;
205 DOUBLE GetDistanceToBoundaryMin()
const;
206 DOUBLE GetDistanceToBoundaryAve()
const;
207 DOUBLE GetDistanceToBoundarySigma()
const;
210 DOUBLE GetCircularity1()
const;
211 bool GetCircularity1(
DOUBLE* circularity )
const;
213 DOUBLE GetCircularity2()
const;
214 bool GetCircularity2(
DOUBLE* circularity )
const;
216 DOUBLE GetCircularity3()
const;
217 bool GetCircularity3(
DOUBLE* circularity )
const;
220 virtual bool operator == (
const CFvBlobData& src )
const;
221 virtual bool operator != (
const CFvBlobData& src )
const;
234 #endif // _FVBLOBDATA_H_INCLUDED_ #define FVCL_API
DLLエクスポートマクロ
Definition: FvMacros.h:61
uint64_t UINT64
整数型(64ビット)[符号なし]
Definition: FvDefs.h:42
楕円構造クラス
Definition: FvEllipse.h:24
FVCL_API INT GetConvex2d(const FVCL::Blob::CFvBlobData &blob, FVCL::CFvBuffer< PNT_T > *points)
凸包の取得
点構造クラス
Definition: FvPoint.h:38
FVCLのネームスペース
Definition: EVCbasicDeclare.txt:9
int INT
整数型(32ビット)
Definition: FvDefs.h:36
データオブジェクトの基本クラス
Definition: FvDataObject.h:20
矩形構造クラス
Definition: FvRectangle.h:37
double DOUBLE
倍精度浮動小数点型(64ビット)
Definition: FvDefs.h:62
int64_t INT64
整数型(64ビット)
Definition: FvDefs.h:41
FVCL_API INT GetBoundary(const FVCL::Blob::CFvBlobData &blob, FVCL::CFvBuffer< PNT_T > *points)
周囲座標の取得
FVCL_API INT GetBoundaryEx(const FVCL::Blob::CFvBlobData &blob, INT connection, FVCL::CFvBuffer< PNT_T > *points_ext, FVCL::CFvBuffer< PNT_T > *points_int)
周囲座標の取得
unsigned int UINT
整数型(32ビット)[符号なし]
Definition: FvDefs.h:37
円構造クラス
Definition: FvCircle.h:33
void * FHANDLE
FIEオブジェクトハンドル
Definition: FvDefs.h:63
2値ブローブ解析データ構造クラス
Definition: FvBlobData.h:25
リージョンオブジェクト
Definition: FvRegion.h:28