————- WARNING - SURF features disabled in this version¶
Section 1: License Section 2: Dependencies Section 3: BUILD Section 4: SOURCE CODE Section 5: EXAMPLES Section 6: TODOLIST
————————-Section 1: License————————————
License: BSD
————————-Section 2: Dependencies——————————-
Dependencies required: 1: Install ros hydro from: http://wiki.ros.org/hydro/Installation/ 2: Install ros-pcl with: apt-get install ros-hydro-perception-pcl 3: Install ros-opencv2: apt-get install ros-hydro-opencv2
Optional(recommended): 4: Install ros openni: apt-get install ros-hydro-openni-launch ————————-Section 3: BUILD————————————– Place in catkin src folder. Use catkin_make from catkin folder.
————————-Section 4: SOURCE CODE——————————– found in installation directory + /src/ This section summarizes the contents of the src directory. For each folder a summary of the contents are provided with a short list important files that the user is likely to interact with.
Fi le : ek z. h In fo : To in cl ud e li br ar y ju st in cl ud e ek z. h. In cl ud es of ot he r fi le s fo r th e li br ar y. |
Folder:core Info: Contains core classes for the library. Important Files:
Calibration.h //Calibration class, controls focal length etc
FrameInput.h //Contains the input of one frame. Got functions like getXYZ(int w, int h), getPointCloud() etc.
RGBDFrame.h //Representation of a frame. Contains extracted information for the frame such as segmentation and keypoints etc.
Transformation.h //Represents a transformation between two frames.
Fo ld er :F ea tu re De sc ri pt or In fo : Co nt ai ns di ff er en t ty pe s of fe at ur e de sc ri pt or s us ed by th e li br ar y. Im po rt an t fi le s: Fe at ur eD es cr ip to r. h // Ba se cl as s fo r Fe at ur e de sc ri pt or s, co nt ai ns fu nc ti on s su ch as di st an ce (F ea tu re De sc ri pt or * ot he r_d es cr ip to r) . |
Folder:FeatureExtractor Info: Contains different types of feature extractors to be chosen from by the library. Important files: FeatureExtractor.h //Core class for feature extractors OrbExtractor.h //Class used to extract Orb keypoints SurfExtractor.h //Class used to extract Surf keypoints
Fo ld er :F ra me Ma tc he r In fo : Co nt ai ns re gi st ra ti on al go ri th ms th at ta ke s tw o fr am es as in pu ts (n o in it ia l gu es s gi ve n) . Im po rt an t fi le s: Fr am eM at ch er .h // Co re cl as s fo r Fr am e ma tc he rs AI CK .h // AI CK ba se im pl em en ta ti on wi th ou t he ur is ti c ma tc hi ng al go ri th m. bo wA IC K. h // AI CK im pl em en ta ti on wi th he ur is ti c ma tc hi ng al go ri th m. Fa st er th an AI CK .h . |
Folder:Map Info: Contains Map3D classes. Important files: Map3D.h //Basic map class. Contains many usefull functions to reduce the complexity for the user. Registers frames added sequentially.
Fo ld er : my ge om et ry In fo : Co nt ai ns ge om et ry cl as se s su ch as pl an es an d po in ts . Al so co nt ai ns Ke yp oi nt s ba se cl as s. |
Folder:RGBDSegmentation Info: Contains RGBD segmentation algorithms to be used on the RGBDFrames. Currently unused.
Fo ld er :T ra ns fo rm at io nF il te r In fo :C on ta in s re gi st ra ti on al go ri th ms th at ta ke s tw o fr am es as in pu ts wi th an in it ia l tr an sf or ma ti on an d im pr ov es th e so lu ti on . Cu rr en tl y un us ed . |
Folder:apps Info:Contains example code of how to use the library. See Section 5 for details.
————————-Section 5: EXAMPLES———————————– found in installation directory + /src/apps/ Unzip testdata.7z to gain access to some test data to run the examples with.
====================image_recorder.cpp==================== Summary: Records data and stores it in .pcd files from a the rostopic /camera/depth_registered/points Input: path where to store recorded data Output: png image pairs with RGBD data captured from a the rostopic /camera/depth_registered/points USAGE: Run roscore Run roslaunch openni_launch openni.launch Run image_recorder program with an argument telling the recorder where to store the data
====================pcd_recorder.cpp==================== Summary: Records data and stores it in .png files from a the rostopic /camera/depth_registered/points Input: path where to store recorded data Output: captured pairs(depth and RGB) of .png files USAGE: Run roscore Run roslaunch openni_launch openni.launch Run pcd_recorder program with an argument telling the recorder where to store the data
====================example_register_pcd_map.cpp==================== Summary: Minimalistic example for registering data provided in .pcd files sequentially using a Map3D object. Input: a set of paths to pcd files Output: .pcd file of aligned data USAGE: Run example_register_pcd_map program with a set of paths to pcd files to be registed
====================example_register_images_map.cpp==================== Summary: Minimalistic example for registering data provided in .png files sequentially using a Map3D object. Input: a path to a folder where png files with the correct names are located Output: .pcd file of aligned data USAGE: Run example_register_images_map program with an argument telling the program where to find the data
====================example_register_pcd_standalone.cpp==================== Summary: Example for registering data provided in .pcd files sequentially. Input: a set of paths to pcd files Output: .pcd file of aligned data USAGE: Run example_register_pcd_map program with a set of paths to pcd files to be registed
====================example_register_images_standalone.cpp==================== Summary: Example for registering data provided in .png files sequentially. Input: a path to a folder where png files with the correct names are located Output: .pcd file of aligned data USAGE: Run example_register_images_map program with an argument telling the program where to find the data
====================example_register_images_fast_map.cpp==================== Summary: Example for registering data provided in .png files sequentially using a Map3D object using ORB features and AICK with bag of words. Input: a path to a folder where png files with the correct names are located a path+fileprefix to a folder where a pre trained bag of words model is located Output: .pcd file of aligned data USAGE: Run example_register_images_fast_map program with an argument telling the program where to find the data
====================example_bow_images.cpp==================== Summary: Example for training a bag of words model for data provided in .png files using a Map3Dbow. Input: a path to a folder where png files with the correct names are located, a path/name for output, number of files to read and a number to controll how what part of the frames given will be used. Output: .pcd file of aligned data USAGE: Run example_bow_images program with a path to a folder where png files with the correct names are located, a path/name for output, number of files to read and a number to controll how what part of the frames given will be used.
————————-Section 1: TODOLIST ————————- Use trees to speed up word association during frame generation. Provide more maptypes. Give option to provide initial guess for poses in map.
Original page: https://github.com/strands-project/strands_3d_mapping/blob/hydro-devel/ekz-public-lib/README.txt