While evaluating the ARTK+ plugin, i figured that the maximum number of detectable patterns (ID based) in one camera image is limited to 8.
And as it turns out is hardcoded in ARTK+Tracker.cpp:
// create a tracker that does:
// - 6x6 sized marker images
// - samples at a maximum of 6x6
// - works with luminance (gray) images
// - can load a maximum of 1 pattern
// - can detect a maximum of 8 patterns in one image
FTracker = new ARToolKitPlus::TrackerSingleMarkerImpl<6,6,6, 1, 8>(FWidth, FHeight);
Now id like to change that, but trying to compile gives these errors:
||=== Build: Release in ARTK+Tracker (compiler: GNU GCC Compiler) ===|
ARToolKitPlus\include\ARToolKitPlus\config.h|224|warning: "MAX_PATH" redefined|
C:\Program Files (x86)\CodeBlocks\MinGW\include\windef.h|42|note: this is the location of the previous definition|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx||In constructor 'ARToolKitPlus::TrackerImpl<**PATTERN_SIZE_X,**PATTERN_SIZE_Y, **PATTERN_SAMPLE_NUM,**MAX_LOAD_PATTERNS, __MAX_IMAGE_PATTERNS>::TrackerImpl()':|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|66|note: #pragma message: >>> not using SinCos LUT|
ARToolKitPlus\include\ARToolKitPlus\TrackerImpl.h|636|error: invalid use of member 'ARToolKitPlus::TrackerImpl<**PATTERN_SIZE_X,**PATTERN_SIZE_Y, **PATTERN_SAMPLE_NUM,**MAX_LOAD_PATTERNS, __MAX_IMAGE_PATTERNS>::screenWidth' in static member function|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|449|error: from this location|
ARToolKitPlus\include\ARToolKitPlus\TrackerImpl.h|636|error: invalid use of member 'ARToolKitPlus::TrackerImpl<**PATTERN_SIZE_X,**PATTERN_SIZE_Y, **PATTERN_SAMPLE_NUM,**MAX_LOAD_PATTERNS, __MAX_IMAGE_PATTERNS>::screenHeight' in static member function|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|449|error: from this location|
ARToolKitPlus\include\..\src\TrackerSingleMarkerImpl.cxx||In instantiation of 'int ARToolKitPlus::TrackerSingleMarkerImpl<**PATTERN_SIZE_X,**PATTERN_SIZE_Y, **PATTERN_SAMPLE_NUM,**MAX_LOAD_PATTERNS, **MAX_IMAGE_PATTERNS>::calc(const unsigned char*, int, bool, ARToolKitPlus::ARMarkerInfo**, int*) [with int**PATTERN_SIZE_X = 6; int **PATTERN_SIZE_Y = 6; int**PATTERN_SAMPLE_NUM = 6; int **MAX_LOAD_PATTERNS = 1; int**MAX_IMAGE_PATTERNS = 8](with int **PATTERN_SIZE_X = 6; int**PATTERN_SIZE_Y = 6; int **PATTERN_SAMPLE_NUM = 6; int**MAX_LOAD_PATTERNS = 1; int __MAX_IMAGE_PATTERNS = 8)':|
C:\Users\Thomas\Documents\Programme\vvvv\Experiments\vvvv-sdk\vvvv45\addonpack\src\nodes\freeframes\ARTK+Tracker\ARTK+Tracker.cpp|582|required from here|
ARToolKitPlus\include\..\src\TrackerSingleMarkerImpl.cxx|188|error: 'convertTransformationMatrixToOpenGLStyle' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive](-fpermissive)|
ARToolKitPlus\include\..\src\TrackerSingleMarkerImpl.cxx|188|note: declarations in dependent base 'ARToolKitPlus::TrackerImpl<6, 6, 6, 1, 8>' are not found by unqualified lookup|
ARToolKitPlus\include\..\src\TrackerSingleMarkerImpl.cxx|188|note: use 'this->convertTransformationMatrixToOpenGLStyle' instead|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx||In instantiation of 'const char* ARToolKitPlus::TrackerImpl<**PATTERN_SIZE_X,**PATTERN_SIZE_Y, **PATTERN_SAMPLE_NUM,**MAX_LOAD_PATTERNS, **MAX_IMAGE_PATTERNS>::getDescription() [with int**PATTERN_SIZE_X = 6; int **PATTERN_SIZE_Y = 6; int**PATTERN_SAMPLE_NUM = 6; int **MAX_LOAD_PATTERNS = 1; int**MAX_IMAGE_PATTERNS = 8](with int **PATTERN_SIZE_X = 6; int**PATTERN_SIZE_Y = 6; int **PATTERN_SAMPLE_NUM = 6; int**MAX_LOAD_PATTERNS = 1; int __MAX_IMAGE_PATTERNS = 8)':|
C:\Users\Thomas\Documents\Programme\vvvv\Experiments\vvvv-sdk\vvvv45\addonpack\src\nodes\freeframes\ARTK+Tracker\ARTK+Tracker.cpp|582|required from here|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|669|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings](-Wwrite-strings)|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|669|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings](-Wwrite-strings)|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|669|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings](-Wwrite-strings)|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|669|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings](-Wwrite-strings)|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|669|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings](-Wwrite-strings)|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|669|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings](-Wwrite-strings)|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|669|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings](-Wwrite-strings)|
ARToolKitPlus\include\ARToolKitPlus\..\..\src\TrackerImpl.cxx|669|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings](-Wwrite-strings)|
||=== Build failed: 5 error(s), 13 warning(s) (0 minute(s), 0 second(s)) ===|
I pulled the vvvv-sdk, and opened
vvvv-sdk\vvvv45\addonpack\src\nodes\freeframes\ARTK+Tracker\ARTK+Tracker.cbp
with the latest CodeBlocks:
codeblocks-16.01mingw-setup.exe
The readme in that folder tells something about a compiler:
//////language/ide
//c++/codeblocks (using mingw 3.4.5)
Do I have to install exactly that one?