Home

ALVAR – A Library for Virtual and Augmented Reality User's Manual

image

Contents

1. 34 57 The default multimarker to be tracked is in file mmarker xml 3 cmd line parameter can be used to override this which refers to multimarker in the Alvar pdf file Some keyboard 6 2 2 OsgFern This is an example of how to use the FernImageDetector class to train a Fern classifier for markerless image based tracking The file name of the marker image is entered as the command line parameter The size of the image should be about 266x266 pixels and should contain many unique features First the program enters the Fern training phase takes about one minute after that the image is used as a marker and an OSG model is augmented on top of it Possible command line parameters lt the number of the capture device to use gt lt camera calibration file lt image file gt Keyboard Shortcuts these work only when AR window is selected q quit Enumerated Capture Devices highgui_ Trying to load classifier No existing classifier found Training Fern classifier Fern classifier Trained Writing classifier commands are available see the command window Uses an image as a marker and renders an OSG model Uses the Fern s algorithm m Matches Sax Yur ALVAR v 2 0 User s Manual 35 97 The default image file to be tracked is in AlvarSlide jpg Use the 3 cmd line parameter to enter some other image to be used as a marker its
2. File Edit View Qt Project Build Debug Tools Test Window Help i Debug gt Win32 videocallback FS ay led Solution Alvar 16 projects EA ALL_BUILD CA INSTALL GA SampleCamCalib EA SampleCvTestbed GA SampleFilter EE SampleIntegrallmage a SampleLabeling EA SamplemarkerCreator EE SampleMarkerDetector EE SampleMarkerHide EE SampleMultiMarker GA SampleMultiMarkerBundle EA SampleOptimization GA SamplePointcloud EA SampleTrack 7 ZERO_CHECK GE E Es E E E 13 gt Embedding manifest 13 gt Microsoft iR Windows R Resource Compiler Version 6 1 6723 1 13 gt Copyright C Microsoft Corporation All rights reserved 13 gt Build log was saved at file d Projects Alvar 2 0 0 build build vsZ008 release sample SampleCamCalib dir Debugq BuildLog 13 gt SampleCamCalib 0 error s O warning s Skipped Build Project INSTALL Configuration Debug Win3z 1l4 gt Project not selected to build for this solution configuration Build 13 succeeded 0 failed 2 up to date 1 skipped Build succeeded vIr ALVAR v 2 0 User s Manual 1767 Print markers try to execute e g SampleMarkerHide In this installation the execution failed because VS2008 could not find glut32 dll These DLLs were copied from the GLUT folder to the Debug folder Sd ATools glut_3 7 File Edit View Favorites Tools Help Back gt T po Search le Folders O D Tools glut_3 7 Folders x Name Freeview_V101 a
3. Usage samplemarkerhide exe device device integer selecting device from enumeration list default 0 highgui capture devices are prefered Keyboard Shortcuts q quit VI ALVAR v 2 0 User s Manual 25 97 Samp leMarkerH id o now to detect MarkerData markers similarly ector and hide them using the BuildHideTexture Usage samplemarkerhide exe integer selecting device from enumeration list default gt highgui capture devices are prefered Keyboard Shortcuts q quit Available Plugins cmu file highgui Enumerated Capture Devices be hi Loading calibration camera_calibration_highgui_ xml Fail 5 9 SampleMarkerlessCreator This is an example of how to use the FernImageDetector class to train a Fern classifier for markerless image based tracking The image should contain many unique features and be in the range of 200x200 to 500x500 pixels A dat file will be saved in the same directory as the image and can be used with the SampleMarkerlessDetector sample Training will take about one minute with a 200x200 sample Usage samplemarkerlesscreator filename filename filename of image to train 5 10 SampleMarkerlessDetector This is an example of how to use the FernImageDetector and FernPoseEstimator classes to detect and track an image and visualize it using GlutViewer The classification must first be trained with the SampleMarkerlessCreator sample and the resulting file passed
4. samplepointcloudd pdb SampleMultiMarker dir M sampletrackd exe O SampleMultiMarkerBundle dir sampletrackd idb 4 SampleOptimization dir 2 sampletrackd ilk SamplePointcloud dir Zsa pletrackd pdb O mam tt Seba amas mesa anadenia a a 5 SampleTrack dir g Bian ee 5 oe we B cmake 166KB Application Extension 18 8 1998 16 25 lt man Mm fad 2 objects selected 332 KB 3 My Computer After that the sample executed correctly Yur ALVAR v 2 0 User s Manual 18 7 5 ALVAR Sample Code ALVAR sample code requires GLUT 3 7 6 and CMake 2 8 3 The following table presents a summary of the sample code Sample Description SampleCamCalib This is an example of how to use ProjPoints and Camera classes to perform p camera calibration using a chessboard pattern SampleCvTestbed This is an example of how to use the CvTestbed CaptureFactory and Capture p classes in order to make quick OpenCV prototype applications This is an example of how to use various filters FilterAverage FilterMedian FilterRunningAverage FilterDoubleExponentialSmoothing Kalman KalmanEkf and FilterArray classes for image gradient analysis This is an example that demonstrates the generation of MarkerData or MarkerArtoolkit markers and saving the image using SaveMarkerlmage visualize them using G utViewer them using GlutViewer and hide them with BuildHide Texture and DrawTexture This is an example of how to use the F
5. Future marker types can easily be added Alvar keeps the Marker Pose estimation as accurate as possible Furthermore Alvar uses some tracking heuristics to identify markers that are too far and to recover from occlusions in the multimarker case for example Using a setup of multiple markers for pose detection Mu tiMarker The marker setup coordinates can be set manually or they can be automatically deduced using various methods MultiMarkerFiltered and MultiMarkerBundle Tools for calibrating Camera Distorting and undistorting points projecting points and finding exterior orientation using point sets Hiding markers from the view 8uildHideTexture and DrawTexture Several basic filters FilterAverage FilterMegdian FilterRunningAverage FilterDoubleExponentialSmoothing Kalman filters for sensor fusion Kalman Filter Extended Kalman Filter and Unscented Kalman Filter Ka manSensor KalmanSensorEkf KalmanEkf UnscentedKalman Several methods for tracking using optical flow TrackerPsa TrackerPsaRot TrackerFeatures and TrackerStat e etc ttl Platforms ALVAR is officially supported and tested on the following platforms e Windows XP 32 bit Microsoft Visual Studio 2005 8 0 2008 9 0 and 2010 10 0 Linux 32 bit GCC 4 3 and 4 4 e Linux 64 bit GCC 4 3 and 4 4 Dependencies The ALVAR library depends on the following libraries e OpenCV 2 4 0 The ALVAR samples depend on the following libraries an
6. Usage samplemultimarkerbundle exe device device integer selecting device from enumeration list default 0 highgui capture devices are preferred dig ALVAR v 2 0 User s Manual 28 97 Keyboard Shortcuts v switch between three debug visualizations I load marker configuration from mmarker txt s save marker configuration to mmarker txt r reset marker configuration p add measurement o optimize bundle q quit 5 13 SampleOptimization This is an example of how to use the Optimization class by fitting curves of increasing degree to random data r SampleOptimization Max Usage sampleoptimization exe Keyboard Shortcuts any key cycle through datasets q quit 5 14 SamplePointcloud This is an example showing how to use SimpleSfM for tracking the environment using features in addition to MultiMarker To get this example work properly be sure to calibrate your camera and tune it to have fast framerate without motion blur There are two possible approaches Update and UpdateRotationsOnly By default the Update is used but you can easily uncomment the other one if needed VI ALVAR v 2 0 User s Manual 29 57 Alvar Library 1 5 6 Copyright 2668 2616 UTT Technical Resear Built on 2611 11 68 for Windows 5 1 x86 SamplePointc loud Description This example shows simple structure ft used to track environment beyond an mt example work properly be sure to calil to have fast frame
7. glut32 dll 5 A Git glut32 lib lt 7 D Projects Alvar 2 0 0 build build_vs2008_release sample Debug fii Address File Edit view Favorites Tools Help neb sems Om 15 42 2011 9 42 r t Y 15 122011 9 42 Q O B P G ae ce Sait Ost 15 12 2011 9 42 Address O D Projects Alvar 2 0 0 build build_vs2008_release sample Debug a DENIER Folders x Name lea bartim AA_AnimEdit Al S samplemarkerhided ilk bab s imuse S Alvar 2 0 0 samplemarkerhided pdb is zane bin CI samplemultimarkerbundled r ia Banai 5 build 5 samplemultimarkerbundled build_vs2008_release 4 samplemultimarkerbundled build samplemultimarkerbundled CMakeFiles E samplemultimarkerd exe n nii O sample samplemultimarkerd idb hiad eneen CMakeFiles 62 samplemultimarkerd ilk eo Debug samplemultimarkerd pdb SampleCamCalib dir sampleoptimizationd exe 2 SamplecvTestbed dir 5 sampleoptimizationd idb areren ar AN 2 E SampleFilter dir 2 sampleoptimizationd ilk FIET a B Ssemniattartentitertre C Sampleintegrallmage dir sampleoptimizationd pdb 3 SampleLabeling dir E samplepointcloudd exe O SampleMarkerCreator dir samplepointcloudd idb SampleMarkerDetector dir 2 samplepointcloudd ilk O SampleMarkerHide dir
8. 2400 LAI OUOO0 244 11110100 251 11111011 255 11111111 From this set we can extract a subset of marker ids that minimize the chance of improper detection The simplest approach is to select ids that differ by 2 or more bits The optimal subset is as follows Yur 000 Odi 068 O79 Lo 18 LOO ALVAR v 2 0 User s Manual OQO000000 JOO0OLO IL 01000100 O10 001 ILL LOLTLOOO0O LOLITA TL ps De FU 55 57 ur ALVAR v 2 0 User s Manual 36 57 9 1 21 ALVAR Main Core Features VTT TECHNICAL RESEARCH CENTRE OF FINLAND Alvar Main Core Features Capture video from USB camera Firewire camera or AVI file using plugins t s e a Aa a and predefined MultiMarkers Marker types Alvar ARToolkit custom Filters for data sequences Tracking image features thy tatty sh methods Calibrate Distort Undistort CalcExteriorOrientation ProjectPoints Further utils Threads Mutex Histogram Serialization Image Labeling Drawing HideTexture Types Point Line Rotation Pose Bitset 9 1 22 ALVAR Main Advanced Features VTT TECHNICAL RESEARCH CENTRE OF FINLAND Alvar Main Advanced Features Methodsto deduce optimize MultiMarker setups SimpleSfM Structure formotionto use features in additionto markers Pose update optimization External container versions of several methods Non linear optimization using Gauss Newton Levenberg Marquarat an
9. and three demonstaring the advanced features The core demos use only HighGui for acquisition and refer to hard coded data files no command line parameters The advanced demos use all installed acquisition plug ins and while they also refer to hard coded data file names some settings can be overridden with command line parameters The command line parameters of the advanced demos are webcam index camera calibration file and app specific option 6 1 Demo Programs for ALVAR Core Features With all three programs if file calib xm is found it is used as your camera calibration This file can be created with the utility program SampleCamCalib exe All three core demo programs use the class CVideoBG defined in header file CommonUtils h which draws the current video frame i e the picture from the webcam as the background so the desired OSG 3D model s can be drawn i e augmented on top of it In the main program of each demo the OSG render loop is entered And for each frame the program calls the ALVAR image acquisition to get a new video frame and checks whether the tracked markers are detected If they are the marker pose 1 e position and orientation is computed for each marker and the corresponding OSG model is set to the same pose and drawn this way the OSG models are augmented to the video frame on top of the corresponding markers However if a tracked marker is not detected the corresponding OSG model
10. 1 0 unit per 96 pixels uin use inches as units assuming 96 dpi ucm use cm s as units assuming 96 dpi lt default gt s 5 0 use marker size 5 0x5 0 units default 9 0x9 0 r5 marker content resolution O uses default m 2 0 marker margin resolution O uses default a use ArToolkit style matrix markers p prompt marker placements interactively from the user This application is discussed further in section 7 1 5 7 SampleMarkerDetector This is an example that shows how to detect MarkerData markers and visualize them using GlutViewer In the SampleMarkerDetector window various debug information is shown about the detected markers The coordinate axes and a virtual cube are superimposed onto the markers to visualize the detected pose For each marker a small image of the marker content is displayed at the origin and the marker number is displayed at one of the corners At the opposing corner the error estimation percentages MARGIN_ERROR and DECODE_ERROR red or TRACK _ERROR dark red are displayed In the AR window squares are drawn over the marker positions using OpenGL In the VR window the squares are drawn with respect to the camera coordinate frame The viewpoint can be modified by dragging with the left and right mouse buttons vIr ALVAR v 2 0 User s Manual a Description This is an example of how to detect MarkerData markers using MarkerDetector and visualize them using GlutViewer In th
11. 19 OD initializes the capture After this the camera calibration is loaded if available and the video processing is started The simplest sample program demonstrating this structure 1s SampleCvTestbed Next there is a more thorough presentation of each sample program with screen shots 5 1 SampleCamCalib This is an example of how to use ProjPoints and Camera classes to perform camera calibration using a chessboard pattern Point the camera to the chessboard calibration pattern see Alvar pdf from several directions until 50 calibration images are collected A calib xml file that contains the internal parameters of the camera is generated and can be used by other applications that require a calibrated camera m SampleCamCalib highgui aax nn rs 3 ines Q O Q 3 O v o Usage samplecamcalib exe device device integer selecting device from enumeration list default 0 highgui capture devices are prefered Keyboard Shortcuts q quit This application is discussed further in section 7 1 5 2 SampleCvTestbed This is an example of how to use the CvTestbed CaptureFactory and Capture classes in order to make quick OpenCV prototype applications The CaptureFactory can create Capture objects from many different backends see SampleCvTestbed cpp You can also show hide the first ten images created using Cv7estbed using the number keys In this example you can use key 0 to show hide a grayscale version of t
12. 3D models these must be implemented using other software libraries There are separate demo programs binaries and source code that use OpenSceneGraph for 3D graphics Yur ALVAR v 2 0 User s Manual oi gt o S x J ge Augmented Reality Team Woie i x Ji fo Cr virtual vt fivirtual proj2 multimedia alvar Atm l wh Example programs wae These example programs illustrate using basic ALVAR features with Mixed Reality and Visualisation OpenSceneGraph Please note that these examples are kept as simple as possible i e there is no error handling for missing cameras etc Compiling these Augmented Reality examples require you to obtain ALVAR library videos Ez Example programs are currently available for a sion Windows XP 32 bit binaries with source code ae Linux 32 bit binaries with source code Publications Linux 64 bit binaries with source code m Projects ALVAR e Model2Marker Identifies ALVAR for Virtools two B Contacts independent markers and RSS News renders simple OSG model on top of both markers 1 4 1 ALVAR Desktop License ALVAR Desktop license is GNU LGPL v 2 1 Thus ALVAR Desktop is free for both commercial and non commercial use ALVAR 2 0 is distributed under the terms of the GNU Lesser General Public License LGPL version 2 1 or later See http www gnu org licenses old licenses lgpl 2 1 html for the license ter
13. 9 1 7 FAQ Using PsaTracker 1 e motion flow tracking nseenseesssesssenssersserssersserssersserssees 9 1 8 FAQ Contents of the ALVAR Sdk distribution package cccecccseccccseeceeeseeeeeseeseeeens 9 1 9 FAQ Cannot complete the first steps of doc compiling txt ssseessenssenssessoesseesseessees 9 1 10 FAQ Cannot follow the last steps of doc Ccompiling txt ecccceecccseeeeeeeeeeeeeeneeeeeees 9 1 11 FAQ ALVAR sample reports Could not find any capture plugins ceeceeeeeees 9 1 12 FAQ SampleCamCalib reports Could not initialize the selected capture backend 9 1 13 FAQ SampleCamCalib reports Could not find any capture devices ccceeceeeeeeees 9 1 14 FAQ ALVAR on Windows VISA TF scsiicsicsiiesseinscnstessicsdnnsia santa aesplenansiesalasan sansacandenc soieceastndansansienien LLII FAO Usmo ALVAR Wit Die Cex sccssncndsacustncsnscncnswa onwcnaneadacndesoassoancndicndaacasseaneangedaaeans 9 1 16 FAQ How to get the pose of a detected marker in ALVAR cece ceeccceeeeeeeeeeeeeeeeees 9 1 17 FAQ How to use text string asci Markers voiscn sori ceradosnamrnunsarepaererweteniuemraeessesntumsarwseans OMA FAQ Problems wiih CYMal essione nits enia a a EEE A E E EE EEEE 9 1 19 FAQ ALVAR seems to produce inaccurate results with a widescreen camera 9 1 20 FAQ Optimal set of ALVAR markers minimize chance of improper detection J121 AL
14. ALVAR path then there is no such folders and solution file My path is C Program Files Alvar 2 0 0 build and it has no Alvar sIn bat file Answer You need to go down into a few more directories For example if you used build msvc90 generate bat to generate the project files then the solution batch file will be in build msvc90 build Alvar sIn bat You need to replace target in the instructions by the platform that you have selected You can select either msvc msvc80 or msvc90 depending on the compiler you are using To recap if you used 1 C Program Files Alvar 2 0 0 build msvc90 generate bat to generate the project then the solution batch file will be in 2 C Program Files Alvar 2 0 0 build msvc90 build Alvar sin bat You can then double click on 2 and then build the solution in debug or release mode Step 8 requires step 7 do be done When you have the visual studio solution opened you can right click on the INSTALL project and select Build This will install all of the samples and dependencies in 3 C Program Files Alvar 2 0 0 bin msvc90 Then you can run the samples by double clicking on them in the Explorer 9 1 11 FAQ ALVAR sample reports Could not find any capture plugins This error message means that ALVAR can t find the capture plugins These are the DLLs found at the following location assuming default installation folder C Program Files Alvar 2 0 0 bin alvarplugins
15. FAQ ALVAR seems to produce inaccurate results with a widescreen camera First make sure you calibrate your camera This means that you should run the SampleCamCalib application and use the calibration when you are detecting markers This will ensure that you have a correct model view matrix Second you need to make sure that you are properly setting up your projection matrix This should take into account the width and height of the camera as well as the camera calibration from the previous step 9 1 20 FAQ Optimal set of ALVAR markers minimize chance of improper detection ALVAR markers have built in error correction and in most cases there should be no problems with mismatches However if you are paranoid about robustness and reliability please read the following explanation This question seems to be asked many times Is there a set of ALVAR markers that minimize the chance of improper detection This is usually asked when we are choosing markers for a particular large scale application ex not a demo In these cases we also want pretty markers The following explains how to select markers that meet these requirements When talking about markers beauty is often equated with symmetry The following is a list of all symmetric 5x5 ALVAR markers 000 QOQ00000 004 00000100 Old 0000011 O15 00001111 064 01000000 065 01000100 075 01001011 079 01001111 Le FOLLOOU0 180 10110100 187 10111011 191 10111111
16. Zi O2 fOb1 D NDEBUG kernel32 lib user32 lib gdi32 lib winspool lib shell32 lib ole32 lib oleaut32 lib uuid lib comdlg3z2 cl DWIN32 D_WINDOWS W3 2m1000 D_DEBUG MDd Zi ObO Od JRTC1 IMD 7 01 Ob1 D NDEBUG IMD 02 Ob2 D NDEBUG IMD Zi O02 Ob1 JD NDEBUG kernel32 lib user32 lib qdi32 lib winspool lib shell32 lib ole32 lib oleaut32 lib uuid lib comdlg3z STACK 10000000 jmachine x86 debug INCREMENTAL YES JINCREMENTAL NO HINCREMENTAL NO idebug JINCREMENTAL YES D Tools ALYAR 2 0 0 sdk win32 vs2008 build build_vs2008_release dist CMAKE_LINKER NOTFOUND CiH PROGRA 1L MICROS 1 0 Common IDE deveny com STACK 10000000 fmachine x86 fdebug INCREMENTAL YES HINCREMENTAL NO HINCREMENTAL NO idebug JINCREMENTAL YES rc STACK 10000000 machine x86 idebug INCREMENTAL YES INCREMENTAL NO INCREMENTAL NO debug INCREMENTAL YES Openc_DIR NOTFOUND OpenCc _ROOT_DIR NOTFOUND OpenC _calib3d_LIBRARY_DEBUG NOTFOUND OpenC _calib3d_LIBRARY_RELEASE NOTFOUND Openc _core_LIBRARY_DEBUG NOTFOUND Openc _core_LIBRARY_RELEASE NOTFOUND Opency _features2d_LIBRARY_DEBUIG NOTFOUND Openc _features2d_LIBRARY_RELEASE NOTFOUND Openc _flann_LIBRARY_DEBUG NOTFOUND OpenCy_Flann_LIBRARY_RELEASE NOTFOUND OpenC _highqui_LIBRARY_DEBUG NOTFOUND OpenC _highqui_LIBRARY_RELEASE NOTFOUND OpenC _imgproc_LIBRARY_DEBUG NOTFOUND Openc _imgproc_LIBRARY_RELEASE NOTFOUND Openc _legacy_LIBRARY_DEBUG NOTFOUND Opency_leg
17. algorithm Internal implementation of RANSAC Please use Ransac or IndexRansac Rotation structure and transformations between different parameterizations Class for serializing class content to from file or std iostream Simple structure from motion implementation using CameraEC MarkerDetectorEC and TrackerFeaturesEC Threads vector for handling multiple threads Timer for measuring execution time Pure virtual base class for tracking optical flow TrackerFeatures tracks features using OpenCV s cvGoodFeaturesToTrack and cvCalcOpticalFlowPyrLK Version of TrackerFeatures using external container Track orientation based only on features in the image plane TrackerPsa implements a very simple PSA tracker TrackerPsaRot implements a slightly extended version of a TrackerPsa which can also detect sideways rotation TrackerStat deduces the optical flow based on tracked features using Seppo Valli s statistical tracking TrackerStatRot implements a slightly extended version of TrackerStat which can also detect sideways rotation Trifocal tensor works for three images like a fundamental matrix works for two images Uncopyable for preventing object copies Implementation of unscented kalman filter UKF for filtering non linear processes Observation model for an unscented kalman filter Process model for an unscented kalman filter Generated on Thu May 24 2012 20 43 08 for ALVAR by IOSM AGKS MD 1 8 0 2 My Computer g 100 Yur ALVAR
18. as an argument to this sample For optimal results a high quality USB camera or a Firewire camera is necessary It is also advised to calibrate the camera using the SampleCamCalib sample It should be noted that the size of the trained image will affect the optimal distance for detection VIT ALVAR v 2 0 User s Manual 26 57 cr IVR eaog T ugmented Baniy Team Usage samplemarkerlessdetector filename device filename the filename of classifier dat device integer selecting device from enumeration list default 0 highgui capture devices are prefered Keyboard Shortcuts q quit 5 11 SampleMultiMarker This is an example of how to use the MultiMarker class to detect preconfigured multi marker setup see multimarker pdf A large cube is drawn over the detected multi marker even when only some of the markers are visible Usage samplemultimarker exe device device integer selecting device from enumeration list default 0 highgui capture devices are prefered Yur ALVAR v 2 0 User s Manual 21 97 1 SampleMultiMarker highgui Keyboard Shortcuts v switch between three debug visualizations load marker configuration from mmarker txt d toggle the detection of non readable markers q quit 5 12 SampleMultiMarkerBundle This is an example that automatically recognises and optimizes MultiMarker setups using MultiMarkerBundle SampleMultiMarkerBundle highgui 7 o leg
19. character set If there is no need for punctuation numbers or uppercase letters five bits are sufficient for all English letters See also subsection 9 3 16 9 1 6 FAQ I compiled my ALVAR program with VC but I cannot run the program in another computer All recent versions of VC require that the run time libraries specifit to that version of VC are installed in the system directory Otherwise the programs compiled with VC will not run Naturally the Visual Studio installation program installs these libraries for computers without Visual Studio one must run the so called Microsoft Visual C lt version gt Redistributable Package x86 which installs the required libraries This is true for ALVAR also So if you are using Visual Studio 2008 SP1 for example do a web search of visual c 2008 sp1 redistributable package which should take you to a Microsoft web page where you can download the Redistributable Package Download the program and execute it once in the computer you intend to use your ALVAR program Then your program should work Also 1f you use a newer version of Visual Studio than what ALVAR 2 0 supports you may be able to compile your ALV AR programs with the new version of VS but you must first install the Redistributable Package of the VS version that was used to compile the ALV AR DLLs 9 1 7 FAQ Using PsaTracker i e motion flow tracking First we are basically talking about image plane tracking
20. image features e Camera Homography methods Calibrate Distort Undistort CalcExteriorOrientation ProjectPoints e Further utils Threads Mutex Histogram Serialization Image Labeling Drawing HideTexture e Types Point Line Rotation Pose Bitset Summary of ALVAR main advanced features e Methods to deduce optimize MultiMarker setups e SimpleSfM Structure for motion to use features in addition to markers Pose update optimization e External container versions of several methods e Non linear optimization using Gauss Newton Levenberg Marquardt and Tukey m estimator e Kalman filter EKF Unscented Kalman filter e More methods for tracking image features e Further utils Container3d Ransac TrifocalTensor Integrallmage IntegralGradient e Fern s classification framework to enable markerless tracking 2 1 Other AR Technologies NOT in ALVAR yet Other Demonstrations of the AR Team not yet in ALVAR 3D model based tracking Image database e g for tracking init recovery Photorealistic rendering Plugin interface for external sensors e g inertial measurement unit 3 ALVAR Packages and Requirements 3 1 The 3 ALVAR Packages There are three different ALVAR distribution packages which all can be freely downloaded Bin for those who only want to test AR and ALV AR contains precompiled binary versions of the ALVAR samples and OSG demos no C compiler nor 3 _party libraries are required Y
21. know which function extract the const char used to create the marker in order to modify it before to display it I used Ascii to generate the marker and I want it back in hexadecimal Yur ALVAR v 2 0 User s Manual 53 07 Answer In order to detect markers created using strings ascii you must specify the resolution of the marker since the default resolution in the detector is set to 5 You can do this using Marker SetMarkerSize The size auto detection works fine here 77 detect Markers of resol tion 11 marker_detector SetMarkerSize marker_size 11 auto detect resolution marker_detector SetMarkerSize marker_size 0 To extract the string simply use the data member std cout lt lt marker _detector markers 1 data str lt lt std endl 9 1 18 FAQ Problems with CvMat Question Code like this causes an access violation CvMat rotation p GetEuler amp rotation Answer When using CvMat you must initialize the matrix before using it Since you have not initialized it you are getting invalid pointer errors CvMat euler cvCreateMat 3 1 CV_64FC1 p GetHuler euler cvReleaseMat amp euler CvMat quaternion cvCreateMat 4 1 CV_64FC1 p GeLrOuaeternion quaternion cvReleaseMat amp quaternion CvMat rodrigues cvCreateMat 3 1 CV_64FC1 p GetRodriques rodriques cvReleaseMat amp rodriques Yur ALVAR v 2 0 User s Manual 34 97 9 1 19
22. marker number ID as a command line parameter If no command line parameters are entered the program goes to the interactive mode in this mode you can enter the IDs and relative positions of several markers creating a multimarker Defaults are sensible so you can just keep pressing lt Enter gt until your multimarker is big enough The output image of the program is written into file markerdata_0 png where 0 is replaced with the marker id Default marker size is 9x9 cm The output image of a multimarker employing e g markers 0 1 2 and 3 is written into file markerdata_O_1I_2_3 png whereas the XML definition of this multimarker is written into markerdata_O_1_2_3 xml very long file names are truncated SampleMarkerCreator exe usage options and additional instructions e The program prompts for marker id and its position in the used units 3 questions per marker The default unit is cm and the default marker size is 9x9 cm Yur ALVAR v 2 0 User s Manual 38 97 e If the user just presses lt Enter gt to all prompts the program creates a square marker field which keeps growing 2x2 gt gt 3x3 gt gt 4x4 etc e When enough markers have been added to the marker field the user should enter 1 for the ID of the next marker which ends the prompting e Ifthe user wishes to use other units or a different marker size these can be entered as command line parameters before the interactive m
23. small targets 1 e markers very far from the camera are also eliminated The best orientation accuracy is achieved when the marker plane is in a 45 degree angle with the camera line of sight When the marker plane normal is parallel with the camera line of sight the orientation accuracy is lower because small marker angle changes do not cause significant changes in the detected marker image And when the marker plane normal is almost perpendicular with the camera line of sight the orientation accuracy is lower because some of the marker corners are seen in almost same position of the image For further background information about this subject one can turn to ARToolkit documentation The detection principles of ARToolkit are similar than that of ALVAR so many descriptions of ARToolkit principles apply to ALVAR also A web search of ARToolkit marker detection is a good place to start Here are a few links that this web search produces http www hitl washington edu artoolkit Papers ARTO2 Tutorial pdf http www hitl washington edu artoolkit documentation http www artoolworks com support library Category ARToolKit_ Professional 9 1 3 How the margins work There must be enough white paper around the black marker edges so edges can be detected in the beginning of the algorithm 9 1 4 How the multimarkers i e marker fields work Several markers working together Pose can be computed even if only one of the markers is visib
24. to base marker and then filtering the results using e g median filter Initializes multi marker by estimating their relative positions from one or more images Mutex for synchronizing multiple threads Non linear optimization routines There are three methods implemented that include Gauss Newton Levenberg Marquardt and Tukey m estimator Plugin for loading dynamic libraries Simple Point class meant to be inherited from OpenCV point classes For example Point lt CvPoint2D64f gt Z vl 3 My Computer fa 100 8 VI ALVAR v 2 0 User s Manual File Edit view Favorites Tools Help 44 57 JS D Tools Alvar 2 0 0 b1 f3f99f8 sdk win32 vs2010 doc html annotated html x hey lej x E iy Favorites ALVAR Class List Point lt C D gt Pose ProjPoints Ransac lt MODEL PARAMETER gt RansacImpl Rotation Serialization SimpleSfM Threads Timer Tracker TrackerFeatures TrackerFeaturesEC TrackerOrientation TrackerPsa TrackerPsaRot TrackerStat TrackerStatRot TrifocalTensor Uncopyable UnscentedKalman UnscentedObservation UnscentedProcess fp gap Page gt Safety Tools 2i Simple Point class meant to be inherited from OpenCV point classes For example Point lt CvPoint2D64f gt p Pose representation derived from the Rotation class Simple structure for collecting 2D and 3D points e g for camera calibration Implementation of a general RANdom SAmple Consensus
25. 2 lib gdi32 lib winspool lib shell32 lib ole32 lib oleaut32 lib uuid lib comdlg ISTACK 10000000 machine X86 idebug JINCREMENTAL YES JINCREMENTAL NO HINCREMENTAL NO idebug INCREMENTAL YES D Projects Alvar 2 0 0 build build_vs2008_release CMAKE_LINKER NOTFOUND C PROGRA 1 MICROS 1 0 Common sIDE devenv com STACK 10000000 machine X86 idebug INCREMENTAL YES JINCREMENTAL NO HINCREMENTAL NO idebug INCREMENTAL YES rc STACK 10000000 jmachine x86 idebug JINCREMENTAL YES HINCREMENTAL NO JINCREMENTAL NO idebug INCREMENTAL YES D Tools qlut_3 7 D Tools glut_3 7 qlut32 lib opengl32 glu32 D Tools Opency 2 3 0 D Tools Opency 2 3 Ojlibfopency_calib3d230d lib A Current Generator Visual Studio 9 2008 Press Configure to update and display new values in red then press Generate to generate selected build files Found OpenGL Found GLUT Found Alvar D Projects Alvar 2 0 0 Configuring done And now we are this far the Alvar installation folder was detected correctly So now the button Generate can be pressed A new subfolder to folder build was generated build_vs2008_release ALVAR v 2 0 User s Manual 16 57 File Edit View Favorites Tools Help Back T p gt Search E Folders Gi Address O D Projects Alvar 2 0 0 build x Folders Size Type Date Modified Folder 15 12 2011 9 21 Z CMakeLists txt 1KB Text Document 31 5 2011 10 01 E 3D_Maa
26. 2 vs2010 doc htmlannotated html v hey x PR File Edit View Favorites Tools Help cr Wie Favorites ALVAR Class List FilterMedian FilterRunningAverage Histogram HistogramSubpixel Homography Index IndexRansac lt MODEL gt IntegralGradient IntegralImage Intindex Container3d lt T gt Iterator Kalman KalmanCore KalmanEkf KalmanSensor KalmanSensorCore KalmanSensorEkf KalmanVisualize Labeling LabelingCvSeq Line Lock Marker MarkerArtoolkit MarkerData MarkerDetector lt M gt MarkerDetectorEC lt M gt MarkerDetectorImpl Markerlterator MarkerlIteratorImpl lt T gt MultiMarkerinitializer MarkerMeasurement MultiMarker MultiMarkerBundle MultiMarkerEC MultiMarkerFiltered MultiMarkerlInitializer Mutex Optimization Plugin Point lt C D gt oP i v Page Safety Tools y FilterMedian provides an median filter A FilterRunningAverage provides an weighted running average filter Class for N dimensional Histograms N dimensional Histograms calculating also the subpixel average for max bin Simple Homography class for finding and projecting points between two planes Class for N dimensional index to be used e g with STL maps Implementation of a general RANdom SAmple Consensus algorithm with implicit parameters IntegralGradient is used for calculating rectangular image gradients rapidly IntegralImage is used for calculating rectangular image sums and averages rapidly Class for c
27. A 1 57 ALVAR A Library for Virtual and Augmented Reality User s Manual v 2 0 Change history Version Date Status Author s Remarks draft proposal updated to be reviewed approved 0 3 15 12 2011 Draft TTERAK New screen shots from doc 0 6 29 02 2012 Draft S TTERAK_ GNULGPL license _ 0 7 25 05 2012 Draft TTERAK Changes caused by the new ALVAR distribution packages 30 05 2012 TTERAK Screen dumps from v 2 0 0 Name Position Date Signatures Writtenby KariRainio TK8036 30 05 2012 S Reviewed by AlainBoyer TK8035 30 05 2012 S Approvedby S G Yur ALVAR v 2 0 User s Manual 207 1 2 3 4 Contents Tard O E E E E E E E E E ee 4 CL Papon OF Tie DOC aN a E E EE E E E E E E E T E 4 2 Oer DOCU O e e E E T ce ge neem E ES 4 1 3 Introduction to Augmented Reality AR and VTT AR Team cc eecccceccceeccceeeeeeeeeneees 4 1 4 Introduction to ALVAR A Library for Virtual and Augmented Reality 0 0 ceecee neers 6 Ve VAR IDES OCC SC gat eee ei nth eee arta snakes ase yenatanete arava caceteeet ste 7 ALVAR TO AON Sacre qeacnastiv ns E REE EE N T IE E R AT A A NE 7 2 1 Other AR Technologies NOT in ALVAR yet esseessensseesssesssesssessseesseessersserssersserssersssessss 8 ALVAR Packages and Requirements sisisi iinitan irai en aa ad iai 8 Sk NG AY ARR Pa oes sancwenesntanencaatamunnsudeanen E A R N T E 8 I MIR IR Ci NN orcs a cece eee cts cee a resets cee econo oem
28. AGS _RELWITHDEBINFO CMAKE_C STANDARD_LIBRARIES CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FL4GS DEBUG CMAKE_EXE_LINKER_FL4GS_MINSIZEREL CMAKE_EXE_LINKER_FL4GS_ RELEASE CMAKE_EXE_LINKER_FL4GS_RELWITHDEBINFO CMAKE_INSTALL_PREFIX CMAKE_LINKER CMAKE_MAKE_PROGRAM CMAKE_MODULE_LINKER_FL4GS CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FL4GS_MINSIZEREL CMAKE_MODULE_LINKER_FL4GS RELEASE CMAKE_MODBULE_LINKER_FL4GS_RELWITHDEBINFO CMAKE_RC_COMPILER CMAKE_RC_FLAGS CMAKE_ SHARED _LINKER_FL4GS CMAKE_SHARED_LINKER_FLAGS_DEBLIG CMAKE_SHARED_LINKER_FL amp 4GS_MINSIZEREL CMAKE_ SHARED _LINKER_FL4GS RELEASE CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SKIP_RPATH CMAKE_USE RELATIVE PATHS CMAKE_VERBOSE_MAKEFILE GLUT_INCLUDE_DIR GLUT_ROOT_PATH GLUT_glut_LIBRARY OPENGL_gl_LIBRARY OPENGL_glu_LIBRARY Openc _ROOT_DIR Opency_calib3d_LIBRARY_DEBUG Debug Release MinSizeRel RelwithDebInfo cl DWIN32 D_WINDOWS W3 2m1000 EHsc GR D_DEBUG MDd Zi Ob0 fOd JRTC1 fwd4251 wd4275 IMD 01 Ob1 D NDEBUG wd4251 jwd4275 IMD O2 Ob2 D NDEBUG wd4251 wd4275 IMD Zi O02 Ob1 D NDEBUG fwd4251 fwd4275 kernel32 lib user32 lib gdi32 lib winspool lib shell32 lib ole32 lib oleaut32 lib uuid lib comdla cl DWIN32 D_WINDOWS W3 Zm1000 D_DEBUG JMDd 2i ObO fod JRTC1 fwd4251 Jwd4275 IMD O1 Ob1 D NDEBUG fwd4251 Jwd4275 IMD 02 Ob2 D NDEBUG wd4251 wd4275 IMD Zi O2 Ob1 JD NDEBUG Jwd4251 jwd4275 kernel32 lib user3
29. AQ ALVAR on Windows Vista 7 Although ALVAR is not officially supported on Windows Vista 7 it should work on these platforms If there are any problems they are most likely file access permission problems The easy solution is to install ALVAR in your user directory The ALV AR team has tried that on a Windows 7 machine and everything worked as expected after following the instructions in doc Compiling txt 9 1 15 FAQ Using ALVAR with DirectX Unfortunately ALVAR does not support DirectX and nobody on ALVAR team is familiar with the particularities of the DirectX platform We can only offer some insight as follows Source http www toymaker info Games html matrices html There are three matrix used by Direct3D to transform your 3D models into the final 2D image you see on the screen They are the World Matrix the View Matrix and the Projection Matrix Note If you are coming from an OpenGL background OpenGL combines the first two together Also the coordinate systems are different OpenGL X to the right Y to the top and Z to the back Yur ALVAR v 2 0 User s Manual 52 37 DirectX X to the right Y to the bottom and Z to the front The projection matrix comes from camera GetOpenglProjectionMatrix and needs to be converted to the DirectX coordinate system The pose matrix comes from marker pose GetMatrixGL It needs to be converted to the DirectX coordinate system and then decomposed into view and world ma
30. Classes Files Examples Class List Class Index Class Hierarchy Class Members Class List Here are the classes structs unions and interfaces with brief descriptions AlvarException Bitset BitsetExt Camera CameraEc Capture CaptureCcmu CaptureDevice CaptureFactory CaptureFile CaptureHighgui CapturePlugin CapturePluginCmu CapturePluginFile CapturePluginHighgui Container3d lt T gt Container3dLimitDist lt T gt Container3dSortDist lt T gt Container3dSortSize lt T gt DirectorylIterator DoEraseTest T gt DoHandleTest lt T gt ExternalContainer SimpleSfM Feature FernClassifierWrapper FernImageDetector FernPoseEstimator FileFormatutils Filter FilterArray lt F gt FilterAverage FilterDoubleExponentialSmoothing FilterMedian Alvar exception class Bitset is a basic class for handling bit sequences An extended Bitset BitsetExt for handling e g Hamming encoding decoding Simple Camera class for calculating distortions orientation or projections with pre calibrated camera Version of Camera using external container Capture interface that plugins must implement Implementation of Capture interface for Cmu plugin CaptureDevice holder for camera information CaptureFactory for creating Capture classes Implementation of Capture interface for File plugin Implementation of Capture interface for Highgui plugin CapturePlugin interface that plugins must implement Implementation of CapturePlug
31. If you are running the sample from inside Visual Studio via F5 you need to make sure that you have launched VS with Alvar sIn bat notice the bat extension This sets up the paths properly so that VS can find the plugins If you are running the sample from the command line make sure that alvarplugins is in the same directory as the executable You can also force the search path for the plugins by setting the following environment variable set ALVAR_PLUGIN_PATH C Program Files Alvar 2 0 0 bin alvarplugins Yur ALVAR v 2 0 User s Manual SLO 9 1 12 FAQ SampleCamCalib reports Could not initialize the selected capture backend That error message can mean a few things 1 No compatible camera is attached to the computer 2 The camera capture system failed to initialize a connection to the camera 3 The camera does not support accessing image data but provides a video stream 9 1 13 FAQ SampleCamCalib reports Could not find any capture devices Check the following things 1 Do the other samples that require a camera work For example does SampleCvTestbed work for you 2 Does your camera provide access to the raw pixel data Some cameras only provide an encoded video stream that Alvar can not process 3 Make sure that the alvarplugins directory is located in the directory that contains the main ALVAR dynamic libraries DLL This should be the case if running the samples from within Visual Studio 9 1 14 F
32. KE_Cx _FLAGS CMAKE_CxX _FLAGS DEBUG CMAKE_Cx _FLAGS_MINSIZEREL CMAKE_Cx _FLAGS RELEASE CMAKE_Cx _FLAGS RELWITHDEBINFO CMAKE_Cx _STANDARD_LIBRARIES CMAKE_C_ COMPILER CMAKE_C_ FLAGS CMAKE_C_ FLAGS DEBUG CMAKE_C_ FLAGS _MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_STANDARD_LIBRARIES CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS DEBUG CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CMAKE_EXE_LINKER_FL4GS_RELEASE CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_INSTALL_PREFIX CMAKE_LINKER CMAKE_MAKE_PROGRAM CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FL4GS_DEBUG CMAKE_MODULE_LINKER_FLA4GS_MINSIZEREL CMAKE_MODULE_LINKER_FL4GS_RELEASE CMAKE_MODULE_LINKER_FL4G5_RELWITHDEBINFO CMAKE_RC_COMPILER CMAKE_RC_FLAGS CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLA4GS_DEBUG CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL CMAKE_SHARED_LINKER_FLAGS_RELEASE CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SKIP_RPATH CMAKE_USE_RELATIVE_PATHS CMAKE_VERBOSE_MAKEFILE GLUT_INCLUDE_DIR GLUT_ROOT_PATH GLUT_glut_LIBRARY OPENGL_gl_LIBRARY OPENGL_glu_LIBRARY Opency _ROOT_DIR OpenCy_calib3d_LIBRARY_DEBUG Opency_calib3d_LIBRARY_RELEASE Opency_core_LIBRARY_DEBUG OpencCy_core_LIBRARY_RELEASE Opency_features2d_LIBRARY_DEBUG Opency _features2d_LIBRARY_RELEASE Opency_highqui_LIBRARY_DEBLG Opency_highgui_LIBRARY_RELEASE OpenCy_imgproc_LIBRAR Y_DEBUG OpenCy_imgproc_LIBRARY_ RELEASE Openc_video_LIBRARY_DEBUG Opency_video_LIBRARY_RELEASE Value Debu
33. NICAL RESEARCH CENTRE OF FINLAND ALVAR Subroutine Library A Library for Virtual and Augmented Reality AR engine developed by VTT Free trial download at www vtt fi multimedia alvar htm Users e g Columbia Univ Goblin XNA MIT 6th Sense Detecting and tracking 2D markers Accurate marker pose estimation with error concealing Marker fields defined manually or autocalibrated Markerless tracking Utilities Camera calibration Correcting lense undistortions Optical flow tracking Several basic filters and Kalman library Hiding of markers etc Coming up Rendering module Mobile phones Symbian Maemo The current version of the library mainly supports marker based augmented reality applications but also includes tools for markerless augmented reality ALVAR 1s designed to be as flexible as possible It offers high level tools and methods for creating augmented reality applications with just a few lines of code The library also includes interfaces for all of the low level tools and methods which makes it possible for the user to develop their own solutions using alternative approaches or completely new algorithms ALVAR is currently provided on Windows and Linux operating systems and requires only one third party library OpenCV ALVAR is independent of any graphical libraries and can be easily integrated On the other hand this implies that ALVAR itself contains no support for 3D graphics or
34. S News Currently our research focuses on applying AR to architecture building construction interior design and industrial applications While we keep on top of the very latest AR research in the world we also do important basic research ourselves We have mature technology and tools for marker detection and an emerging toolset for markerless tracking Furthermore we are especially proud of being able to port many complex video processing and AR concepts to low level mobile platforms including camera phones where the processing and bandwidth resources are limited A general overview of our work can be found in the following slides lf you cant see menu bar links on the left click here AR Team web pages http www vit fi multimedia contain many useful documents of Augmented Reality e Description of AR slide show pdf e Videos of team s AR applications and e Downloadable AR demo applications A large part of the team s AR know how but not all of it is embodied in the Alvar open source AR library A Library for Virtual and Augmented Reality Yur ALVAR v 2 0 User s Manual 607 1 4 Introduction to ALVAR A Library for Virtual and Augmented Reality ALVAR can be downloaded from the AR Team web pages http www vit fi multimedia alvar html ALVAR is a software library for creating virtual and augmented reality applications ALVAR has been developed by the VTT Technical Research Centre of Finland VTT TECH
35. That is the movement of the image in the horizontal and vertical directions We can use this image plane tracking to implement some quick hacks that produce a better experience when doing AR When is this needed The image plane tracking is meant to kick in when the marker is not detected for a few frames or when the marker starts to move out of the field of view of the camera moves to the edge of the image when panning Usually you have two options leave the model where it is or stop rendering it completely This leads to flickering and weird behaviour when the marker moves out of the view of the camera This motion flow tracking solves this How is it done The hard part is already done You can find the TrackerPsa class in ALVAR that implements image plane tracking To see how to use this class you can look at the SampleTrack sample Now the tricky part is using the horizontal and vertical motion to update the pose of the marker I will describe how this is done using pseudo code Yur ALVAR v 2 0 User s Manual 48 97 Camera camera camera SetCalib MarkerDetector markerDetector markerDetector initialization TrackerPsa trackerPsa no initialization required double fovxX camera GetFovx double fovY camera GetFovy Iplimage frame get a new frame from the camera Fose pose this pose must persist across frames make it a class member markerDetector Detect frame camera iterate ov
36. VAR Min Core FeaT ene eee O N ere ar22 ALVAR MIm Advanced Fea N E 91 23 Appetizer Features Not Yet it ALVAR eisenii eE E E AEAEE Yur ALVAR v 2 0 User s Manual 497 1 Introduction 1 1 Purpose of the Document This document contains instructions for the users of the ALVAR open source software library published by VTT Technical Research Centre of Finland 1 2 Other Documents The VTT AR Team web page http www vit fi multimedia AR Team web pages contain many useful documents of Augmented Reality in general and ALVAR in particular e Description of AR slide show pdf e Videos of team s AR applications e Downloadable AR demo applications e PowerPoint presentation of ALVAR ALVAR User s Manual this document e ALVAR downloads bin sdk src see later 1 3 Introduction to Augmented Reality AR and VTT AR Team VTT TECHNICAL RESEARCH CENTRE OF FINLAND Introduction AR Augmented Reality AR Related technologies Mixes virtual objects with view of real world Augmented Virtuality C f Virtual Reality completely virtual worlds Mediated Reality Properties real time interactive 3D Diminished Reality Mixed Reality MR Reality gt Augmented Virtual Reality Video image Reality Computer graphics AS In Augmented Reality the user looks at a live video image of reality The video image is real time and interactive 1 e the user can choose where s he looks and move a
37. _C_ FLAGS _RELWITHDEBINFO CMAKE_C_STANDARD_LIBRARIES CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_EXE LINKER FLAGS _MINSIZEREL CMAKE_EXE_LINKER_FLAGS RELEASE CMAKE_EXE _LINKER_FL4GS_RELWITHDEBINFO CMAKE_INSTALL_PREFIX CMAKE_LINKER CMAKE_MAKE_PROGRAM CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL CMAKE_MODULE_LINKER_FLAGS_RELEASE CMAKE_MODULE_LINKER_FLAGS RELWITHDEBINFO CMAKE_RC_COMPILER CMAKE_RC_FLAGS CMAKE_SHARED_LINKER_FLAGS CMAKE_SHSRED_LINKER_FL4GS_DEBUG CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL CMAKE_SHSRED_LINKER_FLAGS RELEASE CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SKIP_RPATH CMAKE_USE_RELATIVE_PATHS CMAKE_VERBOSE_MAKEFILE Openc_DIR Openc _ROOT_DIR OpenC _calib3d_LIBRARY_DEBUG OpenC_calib3d_LIBRARY_RELEASE Openc _core_LIBRARY_DEBLG OpenC _core_LIBRARY_RELEASE Openc_features2d_ LIBRARY_DEBLIG Openc _features2d_LIBRARY_RELEASE Openc _flann_LIBRARY_DEBLIG OpenCy_flann_LIBRARY_RELEASE Openc _highgui_LIBRARY_DEBUG Opency_highgui_LIBRARY_RELEASE OpenC_imgproc_LIBRARY_DEBLIG Openc _imgproc_LIBRARY_RELEASE Opency _legacy_LIBRARY_DEBUG OpenCy legacy LIBRARY RELEASE Opency_ml_LIBRARY_DEBUG Opency_ml_LIBRARY_RELEASE Opency_video_LIBRARY_DEBUG Openc_video_LIBRARY_RELEASE Value Debug Release MinSizeRel RelwithDebInfo cl DWIN32 D_WINDOWS W3 Zm1000 fEHse GR D_DEBUG MDd 2i Ob0 Od JRTC1 IMD O1 Ob1 D NDEBUG IMD O2 Ob2 D NDEBUG IMD
38. a mutex This file implements several optimization algorithms _ This file implements generic platform specific methods This file implements a loader for plugins as dynamic libraries This file implements a pose This file implements a generic RANSAC algorithm This file implements a parametrized rotation This file implements structure from motion This file implements a threads vector This file implements a timer This file implements a tracking interface This file implements a feature tracker This file implements an orientation tracker This file implements a PSA tracker This file implements a statistical tracker This file implements a trifocal tensor This file implements an uncopyable interface This file implements an unscented Kalman filter This file implements generic utility functions and a serialization interface Generated on Thu May 24 2012 20 43 09 for ALVAR by COSVGSH 1 8 0 3 My Computer fi 100 42 57 Yur 8 2 Class List For easy reference this section presents the Classes list click text Classes of the ALVAR HTML Help while the previous section presented the header Files list click text Files ALVAR v 2 0 User s Manual ALVAR Class List Windows Internet Explorer JEE E e a e a ae File Edit View Favorites Tools Help xX bbs a gir Favorites ALVAR class ie l i im fay ay J cm Page Safety Tools at A Main Page Namespaces
39. a versatile Kalman filter Line h code This file implements a parametrized line Lock h code This file implements a lock to simplify mutex handling Marker h code This file implements a marker interface as well as ALVAR markers and ARToolKit markers MarkerDetector h code This file implements a generic marker detector MultiMarker h code This file implements a multi marker MultiMarkerBundle h code This file implements an algorithm to create a multi marker field configuration MultiMarkerFiltered h code This file implements an approximation algorithm to create a multi marker field configuration MultiMarkerInitializer h code This file implements a initialization algorithm to create a multi marker field configuration Mutex h code This file implements a mutex 2 My Computer g 100 Ver 41 57 ALVAR v 2 0 User s Manual Go gt D Tools alvar 2 0 0 b1 F3F99F8 sdk win32 vs2010 doc htmlifiles html mlll Osn Fie Edit View Favorites Tools Help we Favorites Gaver File List E om Page Safety Tools z Mutex h code Optimization h code Platform h code Plugin h code Pose h code Ransac h code Rotation h code SfM h code Threads h code Timer h code Tracker h code TrackerFeatures h code TrackerOrientation h code TrackerPsa h code TrackerStat h code TrifocalTensor h code Uncopyable h code UnscentedKalman h code Util h code This file implements
40. acy_LIBRARY_RELEASE NOTFOUND Opency_ml_LIBRARY_DEBUG NOTFOUND OpenC _ml_LIBRARY_RELEASE NOTFOUND Openc _video_LIBRARY_DEBUG NOTFOUND OpenC _video_LIBRARY_RELEASE NOTFOUND Press Configure to update and display new values in red then press Generate to generate selected build files Current Generator Visual Studio 9 2008 Ess Dog a ily Yur ALVAR v 2 0 User s Manual 14 57 The following sceen dumps of this section were generated with an earlier VIT internal development version called 2 0 0 794e832 This ALVAR version used earlier versions of the 3 party libraries namely CMake 2 8 OpenCV 2 3 GLUT 3 7 and OpenSceneGraph 2 8 0 The example PC had Windows XP operating system MS Visual Studio 2008 SP1 CMake 2 8 OpenCV 2 3 GLUT 3 7 and OpenSceneGraph 2 8 0 had been installed earlier Also the Destination Folder of the installation was different it was set to D Projects Alvar 2 0 0 Please remember that the current version of the 3 _party libraries are CMake 2 8 3 OpenCV 2 4 0 GLUT 3 7 6 and OpenSceneGraph 2 8 4 A CMake 2 8 6 D Projects Alvar 2 0 0 build build_vs2008_release File Tools Options Help Where is the source code D Projects Alvar 2 0 0 Where to build the binaries D Projects Alvar 2 0 0 build build_vs2008_release Search anx Browse Build C Grouped Advanced P Add Entry Remove Entry f Name CMAKE_CONFIGURATION_TYPES CMAKE_CXX_COMPILER CMA
41. alculating evenly spaced integer indices for data sequence Iterator for going through the items in Container3d in the specified order Kalman implementation Core implementation for Kalman Extended Kalman Filter EKF implementation Kalman sensor implementation Core implementation for Kalman sensor Extended Kalman Filter EKF sensor implementation Class for visualizing Kalman filter Base class for labeling connected components from binary image Labeling class that uses OpenCV routines to find connected components Struct representing a line The line is parametrized by its center and direction vector Lock for simplifying mutex handling Basic 2D Marker functionality Lill MarkerArtoolkit for using matrix markers similar with the ones used in ARToolkit MarkerData contains matrix of Hamming encoded data MarkerDetector for detecting markers of type M Version of MarkerDetector using external container Templateless version of MarkerDetector Please use MarkerDetector instead Iterator type for traversing templated Marker vector without the template Iterator implementation for traversing templated Marker vector without the template MarkerMeasurement that holds the maker id Base class for using MultiMarker Multi marker that uses bundle adjustment to refine the 3D positions of the markers point cloud Version of MultiMarker using external container Multi marker that is constructed by first calculating the marker poses directly relative
42. by Step The installation package alvar 2 0 0 sdk win32 vs2008 exe was executed First there is a welcome screen then a license acceptance screen and then the user is prompted for installation location yr ALVAR v 2 0 User s Manual EALO Go ALVAR 2 0 0 sdk win32 vs2008 Setup Choose Install Location Choose the Folder in which to install ALYAR 2 0 0 sdk wind Wse008 Setup will install ALVAR 2 0 0 sdk wind s2008 in the following Folder To install in a different Folder click Browse and select another folder Click Next to continue Destination Folder C Program FilesAL YAR 2 0 0 sdk wind vs2006 Space required 9 5MB Space available 45 266 Go ALVAR 2 0 0 sdk win32 vs2008 Setup j Choose Start Menu Folder Choose a Start Menu Folder For the ALVAR 2 0 0 sdk wins wS2006 shortcuts Select the Start Menu Folder in which you would like to create the program s shortcuts You can also enter 4 name to create a new Folder ALVAR 2 0 0 sdk wind vs2008 SDVTA SDVIA Shape Accessories Administrative Tools Alvar 1 3 0 Alvar 1 5 0 minaz vs2008 ALVAR 2 0 0 sdk wind2 vs2008 AlvarSamples 1 5 0 Application verifier Build AR CamStudia r Do nok create shortcuts II ET L f Ce ee Fia i ork Tock Sl Perne tf cle Fatt Lilies oe Shey T In the following screen dumps the Destination Folder of the installation was set to D Tools ALVAR 2 0 0 sdk win32 vs2008 In subfolder bui
43. can E EE 9 PS Carli Anil US POLY E E E E E E E E E A T 9 Ade TS TALYAR Oniy CEM AC Ae errer nra E E E R E R 9 42 Basic ALVAR Usage Sdk pack ace siccscrssntesamaaantnancdesnadeteanaenacsiunseneanaancocsenmsndandaamdseednann 10 4 3 Compiling the Alvar Samples Sdk package nnsnnnseenssesssenssesssersserssersserssersssesseesssesseesse 10 4 4 Advanced Compile the ALVAR Source Code Src package nsseessenssossersseesssesssesssesse 11 A ALY AR DE OES o A E E AE A EA EAE 11 40 Tasli ALVAR SEPDY SIEP serseri r En TEE eee E E E EEN N 11 ALAR SS CS e E E E E E E E 18 IA S E E a E E E S E E 19 22 NEE T E E E E E tat O E rueuienacestsiaes 19 oye e a E E errr 20 ad Sm e UNS a EE R E E 21 Io SED e E E E 22 2O SAMI IC VA AI eh TC OMOE onana E E E E A 23 Del AMMA Mako CVC COR a A snanede ewe E E E 23 EI a NC eee ce E enc sen en ec E E E seanceesnense 24 Se aD IC WIA PICS SGC ANON os accor acsarne csentaen ar E E E 23 5 10 SPEM Eea DEO O e E E E E E A E E e 23 5 11 SPE MON d EE e E EE E E AE E 26 5 12 sample MuhiMarker Bundle aciccicdisorecesesnsenedivessaasieseiedtdasceantiasencdtseaeensstanenedbdeaeonseresstcbbieaconis a 5 13 SEON T O E ree E E E E E A E ere ttre 28 5 14 SETO O a E N E EEEE E EEE 28 5 15 SLOBI SA 01 E E E IEEE EE E E E ee ee 29 Demo Programs Using ALVAR with OpenSceneGraph eesoesseesseesseesssesssessserssersserssersserssees 31 6 1 Demo Programs for ALVAR Core Features cccccccccccseeccsesceeececn
44. covering from occlusions S Publications e Using multiple markers for pose detection m Projects o the marker setup coordinates can be set manually ALVAR o or they can be automatically deduced by autocalibration ALVAR for Virtools e Markerless tracking t Press Releases o feature based tracking features from the environment Contacts o template based matching against predefined images or objects Other o hiding markers from view RSS News o tools for calibrating cameras o several methods for tracking optical flow o distoring undistorting points projecting points o finding exterior orientation using point sets o Kalman library and several other filters Download To download the ALVAR library please fill out the registration form Contact For additional information or any other questions please contact us using the alvar info vtt fi mailing list ALVAR Copyright 2008 2012 VTT Finland ar io 2 iD Local intranet fg gt 100 v 4 1 Test ALVAR Only Bin package If you only want to find out what AR and ALVAR is all about download and install the Bin distribution package for your operating system You can execute the binary versions of the ALVAR Samples and Demos without having to compile anything Yur ALVAR v 2 0 User s Manual 10 7 4 2 Basic ALVAR Usage Sdk package Those users who want to develop their own C applications using the ALVAR libraries should download and in
45. d Tukey m estimator Kalman filter EKF Unscented Kalman filter More methods for tracking image features Further utils Container3d Ransac TrifocalTensor Integrallmage IntegralGradiert Fern s classification framework to enable markerlesstracking Vy ALVAR v 2 0 User s Manual 37 7 9 1 23 Appetizer Features Not Yet in ALVAR These techniques have been demonstrated by VTT AR Team but they have not yet been incorporated into ALVAR Other Demonstrations of the AR Team not yet in Alvar 3D model based tracking Image database e g for tracking init recovery s Photorealistic rendering Plugin interface for external sensors e g inertial measurement unit
46. d tools e GLUT 3 7 6 e CMake 2 8 3 The ALVAR demos depend on the following libraries and tools OpenSceneGraph 2 8 4 CMake 2 8 3 Usage Please see the instructions in doc Compiling txt for more information Done 9 My Computer fa 100 Yur 8 1 File List ALVAR v 2 0 User s Manual 40 57 For easy reference this section presents the header Files list click text Files of the ALVAR HTML Help while the next section presents the Classes list click text Classes ALVAR File List Windows Internet Explorer JS D Tools Alvar 2 0 0 b1 F3F99f8 sdk win32 vs2010 doc html files html v Bing Pir File Edit Yiew Favorites Tools Help x he z Ww Favorites G ALVAR File List ea ai cm Page Safety Tools bad ALVAR Main bann Namespaces Classes Files Examples File List File List Here is a list of all documented files with brief descriptions Alvar h code This file defines library export definitions version numbers and build information AlvarException h code This file implements the ALVAR exception class Bitset h code This file implements bit set handling Camera h code This file implements a camera used for projecting points and computing homographies Capture h code This file implements a capture interface CaptureDevice h code This file implements a capture device to hold camera information Capt
47. e SampleMarkerDetector window various debug information is shown about the detected markers The coordinate axes and a virtual cube are superimposed onto the markers to visualize the detected pose For each marker a small image of the marker content is displayed at the origin and the marker number is displayed at one of the corners At the opposing corner the error estimation percentages MARGIN_ERROR and DECODE_ERROR Cred gt or TRACK_ERROR Cdark red gt are displayed In the AR window squares are drawn over the marker positions using OpenGL In the UR window the squares are drawn with respect to the camera coordinate frame The viewpoint can be modified by dragging with the left and right mouse buttons Usage samplemarkerdetector exe device ifilename device integer selecting device from enumeration list default gt highgui capture devices are prefere filename string specifying a media file as input Keyboard Shortcuts Available Plugins cmu file highgui Enumerated Capture Devices highgui_G Usage samplemarkerdetector exe devicelfilename device integer selecting device from enumeration list default 0 highgui capture devices are prefered filename string specifying a media file as input Keyboard Shortcuts q quit 5 8 SampleMarkerHide This is an example that shows how to detect MarkerData markers visualize them using GlutViewer and hide them with BuildHideTexture and DrawTexture
48. e to initialize video capture InitImages to allocate memory for one RGB image and one grayscale image InitOSG to initialize OSG and to create a View WithBackGroundImage object CleanUp to free memory allocated for the RGB and grayscale images and stop capture at program end and Process to process each captured video frame Besides each of the three advanced demo programs has a function that is specific to that program InitALVAR InitFernClassifier or GetMultiMarkerPose The main program of each demo prints the usage instructions processes the command line parameters and calls the Init functions If the initializations succeed the Process function is called which captures a video frame calls the relevant ALVAR functions and calls the OSG rendering function viewer gt frame Before the OSG rendering the return values of the relevant ALVAR functions have determined whether the OSG model should be hidden or shown and if shown what is the correct pose of the OSG model so that it is correctly augmented to the video frame The markers used by these programs are in the Alvar pdf file in the doc subdirectory other data files that these programs use are in the data subdirectory of the ALVAR installation directory Yur ALVAR v 2 0 User s Manual 6 2 1 OsgSfiM Identifies a predefined marker configuration and renders an OSG model Reconstructs features with two alternative methods for tracking in the surroundings z
49. eeceeeneeeseseesenseeseseenenseeees 31 Oak IVI CI VE a 0 a aatetieseseseenccis rect T E A E 31 oka Mik i case ticns E E A E E 32 olo Ma E E E R T E E E E E E E T TE E 32 6 2 Demo Programs for ALVAR Advanced Features cccccceccccssecceeseceseeecsesecsenseeseseeuensenees 33 PA E o 8 I A EE E T A N A A N E EE E 34 Da O T E R A E A E 34 Oea O DM Fal ol ol cr ea E ESE E E ee eee 35 ALVAR OIU Froo CAG e N A ENR 36 Te MURAI C aE AUN gC a see E E E E E E E E E E E E nine 36 Ta o M ECO E a E E EA EEE N 37 ALVAR TENE H e E E oe a E E S E T O EE E E E E a9 ee a E go a E E acest ee weer A T O E 40 Yur ALVAR v 2 0 User s Manual 707 9 Be NAGS USE aoa essa E gone a sate E E E E E sae E E E E E E E ALVAR OUE COE r E E E E E E E ieee 9 1 Code highlights Most important ALV AR concepts FAQS s essensssesssesseesseesssesssesssesssessserss 9 1 1 How the capture system and plugins WOLKS ccccccccseccceeececeesecaeeceesneeeseeeeeeneeeseneees Je Hov Clie mite mn Ce CC HOR W OURS a sisenneeareemecoseceneesrccerennenneceesdatuenenssneteensaceuneosumreedieceune al Howen 1S WO een er a EAE E AOE A A 9 1 4 How the multimarkers i e marker fields work ssnsesesesessssssnsnsesesesesessssssesesesesesesese 9 1 5 Encoding data integer text URL into ALVAR markers snnnonnssennssenssesssersserssersserssees 9 1 6 FAQ I compiled my ALVAR program with VC but I cannot run the program in E OO e E A EE E A E E E
50. er markers when id matches update the pose trackerPsa Track frame only update the pose with the image plane movement when no marker is found if numberOfMarkersDetected 0 double x trackerPsa xd fovxX frame gt width double y trackerPsa yd fovY frame gt height CyvMat p CvMat r create p and r 3x3 pose GetMatrix p initialize r as a rotation matrix with x rotation around x axis and y r tat ion around y axis p xr p pose SetMatrix p release p and r render model using pose as usual 9 1 8 FAQ Contents of the ALVAR Sdk distribution package The ALVAR Sdk library is distributed in binary form only This means that the source files of the library files in src directory are not distributed Only the binary libraries DLLs in bin directory are distributed along with the headers files in include directory In order to compile the sample applications you must follow each of the steps in doc Compiling txt Yur ALVAR v 2 0 User s Manual arto ALVAR Sdk installation is organized in the following way bin The compiled binaries appear in a subdirectory matching the selected build environment e g bin msvc80 build The build environment tools also in a matching subdirectory data Data files used by some of the Sample and Demo applications demo Demo applications that demonstrate how to use the library with OSG doc Documentati
51. erCreator o x ALVAR 2 6 6 A Library for Wirtual and Augmented Reality Copyright 2607 28012 UTT Technical Research Centre of Finland Licensed under the GNU Lesser General Public License Built on 2612 65 29 for Windows 6 1 x86 SanpleMarkerCreator example of how to use the MarkerData and MarkerfArtoolkit classes to generate marker images This application can be used to generate markers and multimarker setups that can be used with SanmpleMarkerDetector and SampleMult iMarker Usage sanplemarkercreator exe Loptions argument 65535 marker with number 65535 f 65535 force hammingt8 4 gt encoding 1 hello world marker with string 2 catalog xml marker with file reference 3 wuw utt Fi marker with URL u 96 use units corresponding to 1 8 unit per 96 pixels uin use inches as units Cassuming 6 dpi use cm s as units Cassuming 76 dpi default gt use marker size 5 8x5 8 units Cdefault 9 89 8 a marker content resolution O uses default m marker margin resolution 6 uses default A use ArToolkit style matrix markers p prompt marker placements interactively From the user Prompt marker placements interactively units 1 cm 8 393761 inches marker side f units marker id Cuse i to end A SampleMarkerCreator exe is used to create marker image files which you can print It can also create multimarkers 1 e 2D marker fields To create an image file containing a single marker enter the
52. ernimageDetector class to train a Fern classifier for markerless image based tracking This is an example of how to use the FernimageDetectorand FernPoseEstimator classes to detect and track an image and visualize it using Glut Viewer This is an example that automatically recognises and optimizes MultiMarker increasing degree to random data environment using features in addition to MultiMarker SampleTrack This is an example that shows how to perform tracking of the optical flow using p TrackerPsa TrackerPsaRot TrackerFeatures TrackerStator TrackerStatRot All 15 sample programs use the header file Shared h which defines the functions outputEnumeratedPlugins print plugins to console outputEnumeratedDevices print devices to console and defaultDevice find index of highgui device Many of the sample program projects contain files GlutViewer h and GlutViewer cpp which define the class Drawable and 20 functions in namespace GlutViewer Many of the sample programs also define function videocallback which is called for each video frame by GLUT Some sample programs also define function keycallback to handle the keyboard presses The main program of most samples prints the usage instructions processes the command line parameters sets the videocallback function to be called enumerates the available plugins enumerates the available capture devices and selects one of them to be used and Yur ALVAR v 2 0 User s Manual
53. g Release MinSizeRel RelwithDebInfo cl JDWIN32 D_WINDOWS W3 Zm1000 EHsc GR D_DEBUG MDd Zi fOb0 fod RTC1 IMD 01 Ob1 D NDEBUG IMD O2 Ob2 D NDEBUG IMD Zi 02 Ob1 JD NDEBUG kernel32 lib user32 lib gdi32 lib winspool lib shell32 lib ole32 lib oleaut32 lib uuid lib comdlg32 cl DWIN32 D_WINDOW S W3 2m1000 D_DEBUG MDd Zi fObO fod RTC1 IMD 01 Ob1 D NDEBUG IMD 02 Ob2 D NDEBUG IMD 2i O2 Ob1 D NDEBUG kernel32 lib user32 lib gdi32 lib winspool lib shell32 lib ole32 lib oleaut32 lib uuid lib comdlg32 STACK 10000000 machine x86 debug JINCREMENTAL YES HINCREMENTAL NO JINCREMENTAL NO fdebug INCREMENTAL YES D Projects Alvar 2 0 0 build build_vs2008_release CMAKE_LINKER NOTFOUND Ci PROGRA 1 MICROS 1 0 Common 7sIDE deveny com STACK 10000000 machine x86 idebug JINCREMENTAL YES JINCREMENTAL NO HINCREMENTAL NO idebug JINCREMENTAL YES rc ISTACK 10000000 machine x86 idebug JINCREMENTAL YES JINCREMENTAL NO JINCREMENTAL NO idebug JINCREMENTAL YES GLUT_INCLUDE_DIR NOTFOUND GLUT_glut_LIBRARY NOTFOUND opengl32 qlu32 D Tools Opency 2 3 0 D Tools Opency 2 3 0 lib opency_calib3d230d lib D Tools Opency 2 3 O libjopency_calib3d230 lib D Tools Opency 2 3 0 libjopency_core230d lib D Tools Openc 2 3 O libfopency_core230 lib D Tools Opency 2 3 O libjopency_features2d230d lib D Tools OpenCy 2 3 0 libfopency_features2d230 lib D Tools Opency 2 3 0 lib
54. hange the where to build binaries directory Use the generated development environment to compile the samples The Demo programs using OpenSceneGraph for 3D graphics are compiled the same way but in addition OSG 2 8 4 must be downloaded Yur ALVAR v 2 0 User s Manual BA 4 4 Advanced Compile the ALVAR Source Code Src package For those advanced users who want to compile the ALV AR source code themselves there is the Src distribution package The HTML Help is generated from the source code using the Doxygen 3 party tool 4 55 ALVAR Directories e bin The compiled binaries will appear in a subdirectory matching the selected build subdirectory e build The building environment is in a matching subdirectory See the compiling txt file in the doc folder e data Data files used by some of the Samples and Demos however the markers are in the Alvar pdf file which is in the doc directory e demo Demo applications using OpenSceneGraph for 3D graphics e doc Documentation Generated using Doxygen e g make doc Also contains sample markers in the Alvar pdf file e include contains the ALVAR C header files Sdk package only e sample Samples that demonstrate how to use the library e src Sources for the ALVAR library Sre package only Note that Alvar h is different from the others it is generated separately for each build environment based on Alvar h cmake 4 6 Installing ALVAR Step
55. he beginning of chapter 5 explains the callback function structure of sample code whereas sections 6 1 and 6 2 explain the callback functions of the demo programs 9 1 2 How the marker detection works Here we assume that a video frame has been captured and stored into a memory image as described in the previous subsection First the color image is converted into a grayscale image Then this image is converted into a bitonal only two colors black and white image using an adaptive threshold From this image edges are searched producing a number of lines Then sets of four intersecting lines i e quadrangles are searched and these are potential markers Then it is verified that the outside of the quadrangle is white and the inside is black i e we are indeed seeing the border stripe of a marker And finally the inside of the marker borders can be interpreted as bits and the bit pattern is a valid marker From the four corner points of the detected marker the program can compute the pose i e location and orientation of the marker in camera coordinates The best position accuracy is achieved when the marker is close to the camera because then the relative error caused by one pixel inaccurary in the image is smaller However the detection algorithm has some built in limits so very large targets 1 e markers very close to Yur ALVAR v 2 0 User s Manual 40 97 the camera are eliminated 1 e not detected at all And conversely very
56. he captured image Yur ALVAR v 2 0 User s Manual 20 57 SampleCvTestbed highgui Jog Grayscale Usage samplecvtestbed exe device device integer selecting device from enumeration list default 0 highgui capture devices are prefered Keyboard Shortcuts 0 show hide grayscale image q quit 5 3 SampleFilter This is an example of how to use various filters FilterAverage FilterMedian FilterRunningAverage FilterDoubleExponentialSmoothing Kalman KalmanEkf and FilterArray First the example shows unfiltered test data with outliers The data is then filtered using the various filters Press any key to cycle through the filters VI ALVAR v 2 0 User s Manual SampleFilter Wa f il tear Pra ary Usage samplefilter exe Keyboard Shortcuts any key cycle through filters q quit 5 4 SampleIntegrallmage This is an example of how to use the ntegrallmage and IntegralGradient classes for image gradient analysis The vertical green and horizontal red whole image projections are computed using ntegrallmage GetSubimage and shown in the SampleIntegrallmage window The gradients of the image edges are shown in the Gradient window The edges are 21 57 detected using the Canny edge detector where t1 and t2 are parameters for the Canny algorithm The gradients are drawn in red and their local normals are drawn in blue Usage sampleintegralimage exe device device integer selecting de
57. icked Iw O Bing Jej 7 e D Tools Alvar 2 0 0 sdk win32 s2010 doc html index html ior w Favorites G ALVAR ALYAR 2 0 0 ai By cm Pager Safety Tools ALVAR Main Page Namespaces Classes Files Examples ile Edit wiew Favorites Tools Help A ALVAR 2 0 0 Introduction ALVAR is a software library for creating virtual and augmented reality AR applications ALVAR has been developed by the VTT Technical Research Centre of Finland ALVAR is released under the terms of the GNU Lesser General Public License version 2 1 or at your option any later version Alvar is designed to be as flexible as possible It offers high level tools and methods for creating augmented reality applications with just a few lines of code The library also includes interfaces for all of the low level tools and methods which makes it possible for the user to develop their own solutions using alternative approaches or completely new algorithms Alvar is currently provided on Windows and Linux operating systems and only depends on one third party library OpenCV Alvar is independent of any graphical libraries and can be easily integrated into existing applications The sample applications use GLUT and the demo application use OpenSceneGraph Features Detecting and tracking 2D markers MarkerDetector Currently two types of square matrix markers are supported MarkerData and MarkerArtoolkit
58. in interface for Cmu plugin Implementation of CapturePlugin interface for File plugin Implementation of CapturePlugin interface for Highgui plugin Generic container to store any information in 3D features photos Functor class for Container3d Limit to limit the search space with distance Functor class for Container3d Sort to sort the search base using distance to specified origin Functor class for Container3d Sort to sort the search base using content size Directorylterator for iterating over files and directories This is default functor for testing which items in the container should be erased This is a default functor for testing which items in the container should be handled by each method Basic structure to be usable with EC methods Extended version of Externa Container structure used internally in SimplesSfM FernClassifier subclass that implements binary reading and writting Image detector based on a Fern classifier Pose estimation class for FernImageDetector Utility functions for file reading writing Filter is pure virtual class describing the basic virtual interface for all filters Class for handling an array of filtered values FilterAverage provides an average filter FilterDoubleExponentia Smoothing provides an weighted running average filter FilterMedian provides an median filter I My Computer Far Aios ALVAR v 2 0 User s Manual 43 37 yet Explorer JS D Tools Alvar 2 0 0 b1 F3F99F8 sdk win3
59. is hidden 6 1 1 Model2Marker Identifies two independent markers and renders simple OSG model on top of both markers Yur ALVAR v 2 0 User s Manual 32 57 Print markers 5 and 10 in the Alvar pdf file in the doc directory and show them to your webcam 6 1 2 MarkerHide Identifies two independent markers renders simple OSG model on top of both markers and hides one of the markers using ALVAR hide texture generation Print markers 5 and 10 in the Alvar pdf file in the doc directory and show them to your webcam 6 1 3 MarkerField Identifies a set of markers in predefined configuration and renders a single OSG model as long as any one of the markers is visible Yur 33 57 ALVAR v 2 0 User s Manual Print the multimarker in the Alvar pdf file in the doc directory and show it to your webcam 6 2 Demo Programs for ALVAR Advanced Features With all three programs if file calib xm is found it is used as your camera calibration This file can be created with the utility program SampleCamCalib exe All three advanced demo programs use the class View WithBackGroundImage defined in header file CommonUtils h which draws the current video frame i e the picture from the webcam as the background so the desired OSG 3D model s can be drawn i e augmented on top of it All three advanced demo programs also define functions PickHandler to handle keyboard commands InitVideoCaptur
60. ld the script generate_vs2008 bat was executed ALVAR v 2 0 User s Manual 13 57 sob Ligases oie e rnd a 52008 hin Favorites Tools Help a o Search i m b Folders Folders ae a C cmake CMakeLists txt PS generate bat I Tools iS i ALVAR 2 0 0 sdk wind2 ys2008 9 bin C build C data O demo 9 doc C include C sample Le Type MS DOS Batch File Date Modified 29 5 2012 18 11 Size 47 bytes Size Type Date Modified 30 5 2012 12 00 29 5 2012 15 11 29 5 2012 15 11 29 5 2012 15 11 Folder Text Document MS DOS Batch File MS DOS Batch File 2 KB 4 KB 1 KB 47 bytes 4 My Computer The bat starts the CMake 2 8 program The user must enter the proper paths The initial values are usually good so the first thing to do is to press the button Configure File Tools Options Help Where is the source code D Tools ALVAR 2 0 0 sdk win32 ys2008 Browse Source Where to build the binaries D Tools ALYAR 2 0 0 sdk win32 vs2008 build build_vs2008_release x Browse Build Search C Grouped V Advanced SP AddEntry 9 Remove Entry Name CMAKE_CONFIGURATION_TYPES CMAKE_CXX_COMPILER CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUIG CMAKE_CXX_FLAGS MINSIZEREL CMAKE_CXX FLAGS RELEASE CMAKE_CX _FLAGS_RELWITHDEBINFO CMAKE_CX _ STANDARD LIBRARIES CMAKE_C COMPILER CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_ FLAGS _MINSIZEREL CMAKE_C_ FLAGS RELEASE CMAKE
61. le 2D multimarkers a XML file 1s required which specifies the relative positions and sizes of the component markers the component markers can have different sizes but they must all be in the same plane 3D multimarkers relative positions and orientations of the component markers are automatically computed when the configuration has been seen from various angles All component markers must have the same size The advantage of the 3D multimarker over the 2D is that it is more robust there is a higher probability that at least one of the component markers is seen in an advantageous angle 1 e high orientation accuracy close to 45 degrees with the camera line of sight The disadvantage is that a separate initialization stage is needed and the camera must be moved around during this stage 9 1 5 Encoding data integer text URL nto ALVAR markers A number of bits are available in the ALVAR markers depending on the size of the marker The larger the marker size the more bits it can contain but the more unreliable the detection Yur ALVAR v 2 0 User s Manual AA i e distinguishing between the different markers becomes Some bits must be fixed so that marker orientation can be deduced but other bits can be used for any purpose Usually the bits are interpreted as numbers but this is not necessary E g groups of seven bits can be used to encode ASCII characters and groups of eight bits can be used to encode the extended ASCII
62. ms By downloading Alvar 2 0 you agree to be bound by the terms of the GNU LGPL version 2 1 or later Other versions of ALVAR e g ALVAR Mobile are commercial 2 ALVAR Features Detecting and tracking 2D markers Currently two types of square matrix markers are supported Custom marker types can easily be added ALV AR keeps the marker pose estimation as accurate as possible Furthermore ALV AR uses some tracking heuristics to identify markers that are too far and to recover from occlusions in the multimarker case for example Using a setup of multiple markers for pose detection The marker setup coordinates can be set manually or they can be automatically deduced using various methods Tools for calibrating a camera Distorting and undistorting points projecting points and finding exterior orientation using point sets Hiding markers from the view Several basic filters average median running average double exponential smoothing Kalman filters for sensor fusion Kalman filter extended Kalman filter and unscented Kalman filter Several methods for tracking using optical flow Yur ALVAR v 2 0 User s Manual 807 Markerless tracking using the SfM and Fern s algorithms Summary of ALVAR main core features e Capture video from USB camera Firewire camera or AVI file using plugins e Detecting Markers and predefined MultiMarkers Marker types ALVAR ARToolkit custom e Filters for data sequences e Tracking
63. ode e g gt samplemarkercreator exe uin s 1 0 p e Ifthe user wishes to enter a marker field design into a separate text file it is also possible contents of test txt is shown to the right gt samplemarkercreator exe p lt test txt e Ifthe user wishes to use markers of different sizes the data for all the markers must be entered as command line parameters gt samplemarkercreator exe s 18 xy 36 0 255 xy 36 36 254 xy 0 36 253 s 9 P e This example sets 18x18 cm markers 255 254 and 253 to the left up left and up from the origin Then the program enters the interactive mode to prompt for additional 9x9 cm markers Yur ALVAR v 2 0 User s Manual 39 97 8 ALVAR HTML Help This chapter presents a summary of ALVAR HTML Help which have been generated automatically from the source code comments using Doxygen The documentation entry is the file doc html index html there should be a shortcut for this in the Start menu The most important locations in the ALVAR HTML Help are the Classes list click text Classes and the header Files list click text Files In both the Classes list and Files list you can get more detailed information by clicking the class header file name Through the detailed information you can navigate from a class name to the corresponding header file and from a header file to the class es defined in that file ALVAR ALVAR 2 0 0 Windows Internet Explorer L
64. on as well as API Reference sample markers in Alvar pdf include Headers for the Alvar AlvarPlatform and AlvarPro libraries sample Sample applications that demonstrate how to use the library This directory is not present in binary distributions This directory is not present in binary distributions This directory is not present in binary distributions 9 1 9 FAQ Cannot complete the first steps of doc compiling txt Question The generate bat file in the msvc90 folder doesn t seem to do anything special for me I have installed opencv glut cmake and alvar Also cmake is located in the system s path environment variable Answer Check the generate log file that 1s generated when you run the generate bat script It should be located in the same directory C program files alvar 2 0 0 build msvc90 generate log Also verify the paths in Cmakegui They should be set correctly by default and not be changed Where is the source code C Program Files Alvar 2 0 0 Where to build the binaries C Program Files Alvar 2 0 0 build msvc90 build 9 1 10 FAQ Cannot follow the last steps of doc compiling txt Question Yur ALVAR v 2 0 User s Manual 3007 I completed the 6 steps of compiling text file but I cannot understand the following step 7 Open build target build Alvar slin bat and build the solution The batch file will ensure that paths to DLLS are properly configured If it shows the the
65. opency_highqui230d lib D Tools OpenCy 2 3 0 libfopency_highqui230 lib D Tools Openc 2 3 0 libfopency_imgproc230d lib D Tools Openc 2 3 0 libfopency_imgproc230 lib D Tools Openc 2 3 O libfopency_video230d lib D Tools OpenC 2 3 O libfopency_video230 lib Current Generator Visual Studio 9 2008 Press Configure to update and display new values in red then press Generate to generate selected build files Configuring incomplete errors occurred Failing since GLUT support was not turned off via Alvar _NOGLUT Yur ALVAR v 2 0 User s Manual 15 57 GLUT 3 7 path had to be entered search for entries NOTFOUND in the right hand column The entries were clicked and the proper paths were entered After that a new click of button Configure CMake 2 8 6 D Projects Alvar 2 0 0 build build_vs2008_release File Tools Options Help Where is the source code D Projects Alvar 2 0 0 Where to build the binaries D Projects Alvar 2 0 0 build build_vs2008_release Search Browse Source Browse Build C Grouped Advanced P AddEntry Remove Entry Name CMAKE_CONFIGURATION_TYPES CMAKE_CX X_COMPILER CMAKE_CX _FLAGS CMAKE_CX _FLAGS_DEBUG CMAKE_CX _ FLAGS _MINSIZEREL CMAKE_CX _FLAGS RELEASE CMAKE_CX _FLAGS RELWITHDEBINFO CMAKE_CX _ STANDARD LIBRARIES CMAKE_C COMPILER CMAKE_C_FLAGS CMAKE_C FLAGS DEBUG CMAKE_C FLAGS _MINSIZEREL CMAKE_C FLAGS RELEASE CMAKE_C_ FL
66. rate without motion There are two possible approaches Upde By default the Update is used but yc other one if needed Usage samplepointcloud exe device device integer selecting device from enumeration list default highgui capture devices are prefered Keyboard Shortcuts q quit Available Plugins cmu file highgui Enumerated Capture Devices Usage samplepointcloud exe device device integer selecting device from enumeration list default 0 highgui capture devices are prefered Keyboard Shortcuts r reset q quit 5 15 SampleTrack This is an example that shows how to perform tracking of the optical flow using TrackerPsa TrackerPsaRot TrackerFeatures TrackerStat or TrackerStatRot Usage sampletrack exe device device integer selecting device from enumeration list default 0 highgui capture devices are prefered Yur ALVAR v 2 0 User s Manual SampleTrack highgui Keyboard Shortcuts r t reset tracker n space cycle through tracking algorithms q quit 30 57 Yur ALVAR v 2 0 User s Manual SLO 6 Demo Programs Using ALVAR with OpenSceneGraph ALVAR Sdk distribution package contains C source code only the users must compile their own programs ALVAR itself contains no support for 3D graphics or 3D models There are separate demo programs which use OpenSceneGraph for 3D graphics There are three demo programs that demonstrate the core ALVAR features
67. rd calibration pattern Csee ALUAR pdf gt from several directions until 5 calibration images are collected A calib xml file that contains the internal parameters of the camera is generated and can be used by other applications that require a calibrated camera Usage samplecamcalib exe device device integer selecting device from enumeration list default A gt highgui capture devices are prefered Keyboard Shortcuts g quit Available Plugins file highgui Enumerated Capture Devices A highgui_ SampleCamCalib exe is used to calibrate your webcam using the chessboard pattern in the Alvar pdf file in the doc directory Print the slide containing the chessboard pattern Attach the print to a level surface Start the program and show the chessboard pattern to your webcam in different positions distances and orientations The program acquires 50 samples about once a second When a sample is acquired the chessboard pattern is visible the found pattern is shortly shown in red Calibration result is written to file calib xml By default SampleCamCalib exe calibrates the default camera using the default resolution However if either of these is not the one you intend to use enter command line argument Vir ALVAR v 2 0 User s Manual 37 57 1 for your first camera resolution and other options will be prompted 2 for your 2nd camera etc 7 2 SampleMarkerCreator exe g SampleMark
68. round Often head up displays are employed for this or tablet PCs with cameras or smart mobile phones Yur ALVAR v 2 0 User s Manual gt 7 The live video in analyzed by a computer which deduces from the image features where the user is and which way s he looks This way the computer can insert virtual objects to the scene so that they are displayed in the correct size and angle 1 e the virtual objects seem to be glued to the reality There are lesser forms of Augmented Reality e g displaying informative texts near the real objects of the scene but VTT AR team in conserned with the most demanding form of Augmented Reality where the goal is to insert virtual 3D objects to the real scene seamlessly H Augmented Reality Team Y in af on C ff O virtualvttfiMvirtual proj2 multimedia wot Augmented Reality Team wir Mixed Reality and Visualisation err Augmented Reality Augmented Reality AR is the technique of superimposing virtual objects in Do the user s view of the real world providing a novel visualisation technology for m Videos a wide range of application We the Augmented Reality Team at YTT started Demos working in the AR field in 2000 with the development of virtual advertisements m Slides for live TV broadcast In the following years we expanded our expertise to Publications game and entertainment applications m Projects ALVAR ALVAR for Virtools m Contacts RS
69. size should be about 200x200 pixels First time the program is executed for a new image it must train the Fern classifier This takes about one minute after which the program saves the classifier training results For subsequent executions the program uses the results data file so no training period is needed 6 2 3 Osg3DMarkerField Deduces the spatial configuration of a 3D marker field then renders an OSG model on top of the selected marker in this 3D marker field OE3 E Demo3DMarkerField Keyboard Shortcuts these work only when AR window is selected q quit r reset sE Enumerated Capture Devices HH 0 highgui_ WwuUsing manual multimarker approach with MultiMarkerlInitializer and MultiMarkerBundle Point the camera towards the markers i1 lt marker is required others are optional 26 frames will be acquired w Adding measurement 1 2 gt HAdding measurement 27 20 Adding measurement 3 28 Adding measurement 4 26 i measurement 5 2 gt measurement 6 26 measurement 7 2 gt measurement 8 20 gt measurement 9 2 measurement 186 28 measurement 11 2 gt measurement 12 28 measurement 13 28 measurement 14 2 gt measurement 15 2 gt measurement 16 28 measurement 17 2 gt measurement 18 28 measurement 19 2 gt Adding measurement 26 20 Initializing optimization Optimizing
70. stall the ALVAR Sdk distribution package Ensure that you have a suitable development environment Currently the library has been used with the following e Microsoft Visual Studio 2005 2008 and 2010 e Linux 32 bit and 64 bit gcc versions 4 3 4 4 and 4 5 Install the required 3rd party libraries OpenCV 2 4 0 CMake 2 8 3 GLUT 3 7 6 needed only in Samples OSG 2 8 4 needed only in Demos Install the ALVAR library Sdk package Develop your application Include the needed ALVAR headers in your source directory and link to the ALVAR library matching your development environment e g bin msvc90 alvar lib Copy the OpenCV and GLUT runtime libraries where your application can find them e g the exe directory 4 3 Compiling the Alvar Samples Sdk package The most up to date instructions of how to compile ALVAR applications are in the compiling txt file in the doc folder Please refer to that file for more thorough instructions this section presents just a brief summary Ensure that you have a suitable development environment Install the required 3rd party libraries OpenCV GLUT CMake Install the ALVAR library Note that the CMake binary directory must be in your system s PATH environment variable Generate the development environment to build the samples by running the generate script of your choice e g build msvc90 generate bat Fill in the missing information for CMake e g GLUT_ROOT_PATH Do NOT c
71. sto B E generate bat 4KB MS DOS Batch File 31 5 2011 10 28 Aa_Animedit E generate _vs2008 bat 1KB MS DOS Batch File 27 5 2011 9 53 Alvar 2 0 0 _ build_vs2008_release Folder 15 12 2011 9 37 bin E generate log 2KB Text Document 15 12 2011 9 37 O build doc E O include O sample 1 objects selected y My Computer E O Previous_Pc Projects In this subfolder there is the batch file Alvar sIn bat which is used to start Visual Studio 2008 Do not start Alvar sIn directly or the correct environment variables are not set up Favorites Tools Help pi PO Search F Folders iri Address 0 D ProjectsAlvar 2 0 0 build build_vs2008_release Ba ane we Size Type Date Modified l E Previous PC build Folder 15 12 2011 9 37 E E Projects O CMakeFiles Folder 15 12 2011 9 37 3 3D_Maasta B sample Folder 15 12 2011 9 37 O A4_AnimEdit EHIALL_BUILD veproj 15 12 2011 9 37 3 bin 7 SEES Files crnake_install crnake INSTALL vcproj pose Lee I 5 build E cmake_install cnake cr z 15 12 2011 9 37 O build vs 008 release E CMakeCache txt 22KB Text Document 15 12 2011 9 37 DB cmake INSTALL veproy 23KB C Project 15 12 2011 9 37 F ki a ile lLl Leb a AS AC a LLL et Aa a miga 3 sali E3 doc mir Mm i gt Type MS DOS Batch File Date Modified 15 12 2011 9 37 Size 231 bytes 231 bytes og My Computer Folders B Then enter the menu command Build Build Solution
72. this may take more than a minute please wait gt Optimizing with 26 keyframes and 6 markers Optimization error per corner 14 6165 Optimizing done Create a 3D marker field using Alvar markers 0 11 Marker O is required its pose is reported as the marker field pose others are optional Enter another marker index 1 11 as the 3 cmd line parameter to use another pose marker The size of all the used markers 0 11 should be the same dig ALVAR v 2 0 User s Manual 36 57 7 ALVAR Utility Programs In the Bin distribution package of Alvar you ll find two ALVAR utilities SampleCamCalib exe and SampleMarkerCreator exe Actually SampleCamCalib exe is the SampleCamCalib sample of ALVAR library while SampleMarkerCreator exe is the SampleMarkerCreator sample of ALVAR library SampleCamCalib exe is used to calibrate your webcam using the chessboard pattern SampleMarkerCreator exe is used to create marker image files which you can print It can also create multimarkers 1 e 2D marker fields 7 1 SampleCamCalib exe EY SampleCamCalib Jof x ALVAR 2 6 6 A Library for UVirtual and Augmented Reality Copyright 2607 2612 UTT Technical Research Centre of Finland Licensed under the GHU Lesser General Public License Built on 2612 65 29 for Windows 6 1 x86 SanpleCamCalib example of how to use the Camera and ProjPoints classes to perform camera calibration Point the camera to the chessboa
73. trices How to do this we are not sure at the moment We can also direct you to the ALVAR OSG demo programs which show how to use OpenSceneGraph to display actual models on top of markers 9 1 16 FAQ How to get the pose of a detected marker in ALVAR Question I would like to extract the position of the marker in several values The values are X Y Z A B C where X Translation in X direction Y Translation in Y direction Z Translation in Z direction and A Rotation around Z axis B Rotation around Y axis C Rotation around X axis Is it possible Answer The information you are looking for is available in the alvar Pose class In the marker detector sample alvar MarkerDetector 1s used to find an alvar Marker which contains an alvar Pose Pose p marker_detector markers 1 pose The alvar Pose class contains a translation vector and a quaternion The translation vector will give you X Y and Z The rotation will give you the angles However there are many conventions for rotation angles for example Tait Bryan vs Euler angles You will need to interpret the quaternion depending on your conventions http en wikipedia org wiki Euler_angles Conventions The alvar Pose Class can also give you a 4x4 homogenous transformation matrix using the GetMat rix method http en wikipedia org wiki Transformation_matrix Uses 9 1 17 FAQ How to use text string ascii markers Question I would like to
74. ur ALVAR v 2 0 User s Manual I OD Sdk for those who want to build their own AR applications using ALV AR contains ALVAR header files precompiled ALVAR libraries and HTML documentation a C compiler and 3 party libraries are required Src for those who want to compile ALVAR themselves contains the raw source code of ALVAR a C compiler and 3 _party libraries are required Please note that the 3 distributions are NOT subsets of each other e g HTML documentation is in the Sdk distribution only The ALVAR Presentation and the User s Manual this document must be downloaded separately 3 2 ALVAR Requirements ALVAR has been tested with the following environments Windows XP 32 bit Microsoft Visual Studio 2005 2008 and 2010 versions 8 9 and 10 Linux ALVAR core library requires the following 3rd party library OpenCV 2 4 0 ALVAR sample code requires GLUT 3 7 6 CMake 2 8 3 The separate demo programs require OpenSceneGraph 2 8 4 4 Istalling and Using Alvar Augmented Reality Team Windows Internet Explorer BAX G wes x x Jie uy Favorites Augmented Reality Team T A v Pager Safety gt Toos sf For more information please see our ALVAR Brochure 2 Mixed Reality and Visualisation Features Augmented Reali e Marker based tracking k deos o accurate marker pose estimation D o two types of square matrix markers MEMOS o future marker types are easy to add Slides o re
75. ureFactory h code This file implements a capture factory with a plugin interface to allow for different capture backends to be loaded at runtime if the platform supports them CapturePlugin h code This file implements a capture plugin interface CapturePluginCmu h code This file implements a capture plugin based on Cmu CapturePluginFile h code This file implements a capture plugin based on File CapturePluginHighgui h code This file implements a capture plugin based on Highgui ConnectedComponents h code This file implements connected component labeling Container3d h code This file implements a generic container to store data in 3D Directorylterator h code This file implements a directory iterator Draw h code This file implements a collection of functions that are used to visualize lines contours and corners for debugging purposes EC h code This file implements a collection of External Container EC versions of many Alvar classes FernImageDetector h code This file implements a Fern based image detector FernPoseEstimator h code This file implements a pose estimator for the Fern based image detector E FileFormat h code This file defines various file formats FileFormatUtils h code This file implements utilities that assist in reading and writing files Filter h code This file implements multiple filters IntegralImage h code This file implements integral image and integral gradient computations Kalman h code This file implements
76. v 2 0 User s Manual 49 97 9 ALVAR Source Code This chapter presents a summary of ALVAR source code The source code files were listed in section 8 1 and the ALVAR classes in section 8 2 In this chapter some of the most important classes and concepts are presented in more detail as well as some Frequently Asked Questions 9 1 Code highlights Most important ALVAR concepts FAQs Please note that the best way to learn ALVAR 1s to examine the ALVAR Sample Code chapter 5 and the ALVAR Demo Programs chapter 6 The remaining sections should be read only after those sections 9 1 1 How the capture system and plugins works ALV AR uses the services of OpenCV libraries for video capture OpenCV in turn contains three alternative capture libraries HighGui CvCam and CMU Not all webcams can be accessed with all 3 libraries and the 3 different libraries have different advantages and disadvantages so therefore this embarrassment of riches HighGui is the easiest to use so if your webcam can be accessed using HighGui we recommend using it After your webcam has captured a video frame the captured image data is stored into an image in computer memory This image 1s accessed by ALVAR libraries to determine the poses of the visible markers for example and this image is usually used as the background when the augmented content is drawn OpenCV callback functions are often used for video frame acquisition and image processing T
77. vice from enumeration list default 0 highgui capture devices are prefered Yur ALVAR v 2 0 User s Manual 22 97 I Gradient Joe C t2 192 Keyboard Shortcuts show hide gradient image show hide grayscale image show hide vertical image show hide horizontal image show hide canny image quit OQ BWNFK CO 5 5 SampleLabeling This is an example of how to label images using LabelingCvSeq Blobs are detected in the image and if the blobs have four corners the edges between the corners are visualized SampleLabeling highgui a f x Ss Yur ALVAR v 2 0 User s Manual 23 57 Usage samplelabeling exe device device integer selecting device from enumeration list default 0 highgui capture devices are prefered Keyboard Shortcuts Increase adaptive threshold block size Decrease adaptive threshold block size q quit 5 6 SampleMarkerCreator This is an example that demonstrates the generation of MarkerData or MarkerArtoolkit markers and saving the image using SaveMarkerImage This application can be used to generate markers and multimarker setups that can be used with SampleMarkerDetector and SampleMultiMarker Usage samplemarkercreator exe options argument 65535 marker with number 65535 f 65535 force hamming 8 4 encoding 1 hello world marker with string 2 catalog xml marker with file reference 3 www vtt fi marker with URL u 96 use units corresponding to

Download Pdf Manuals

image

Related Search

Related Contents

ボトムフロータイプ (冷風下部吹き出し)  13. Manual de Utilização do Autorizador SADT - Coopus    Toshiba IK-629A Digital Camera User Manual  Bienvenue, Nous vous remercions d`avoir acheté ce  CHAVEIRO ESPIÃO  OM, Gardena, Robotic Lawnmower, R38Li, R40Li, R45Li, R50Li  Manuale di riparazione_Y006471_IT  

Copyright © All rights reserved.
Failed to retrieve file