9 #include <FeatureDetector/CheckerboardDetectorCrossFilter.hh>
10 #include <Base/ImageUtils/ImageDraw.hh>
17 int main(
int argc,
char* argv[]){
21 testImg.
Init(1024,768,3);
23 unsigned char white[] = {255,255,255};
25 unsigned char black[] = {0,0,0};
26 for (
int row = 0; row < 3; row++)
27 for (
int col = 0; col < 4; col++){
35 vector<HomgPoint2D> checkerCorners = cbd.
GetCheckerboard(testImg,7,4,
true);
39 for (
int y = 170; y <= 320; y+=50)
40 for (
int x = 170; x <= 470; x+=50){
41 if ((
int)checkerCorners[index][0] != x)
return 1;
42 if ((
int)checkerCorners[index++][1] != y)
return 1;
Detects a checkerboard pattern (typically 7x4 inner corners, asymmetric layout recommended) in an ima...
std::vector< HomgPoint2D > GetCheckerboard(Image< unsigned char > img, int numberOfCols=7, int numberOfRows=4, bool upperLeftIsBlack=true)
Find a checkerboard of size numberOfCols x numberOfRows in the given image.
void Clear(const StorageType value=0)
sets all pixels to zero/value
void Init(unsigned int Width, unsigned int Height, unsigned int channels=1, enum EStorageType storageType=ST_unsignedchar, const bool interleaved=true)
calls Init from ImageBase storageType is ignored, just dummy argument
static int RectangleCornersFill(Image< StorageType > &im, const int minx, const int miny, const int maxx, const int maxy, const StorageType value[])
Draws the filled rectangle defined by upper left and bottom right corner with value[i] in channel i...