Getting stareted
PCL Julia packages follows the PCL module structure. If you need a particular module (e.g. PCLCommon.jl), then you can use the specific module(s) as follows:
using PCLCommonIf you want to import all the PCL packages, then:
using PCLNote that it will take a few times to load (30 seconds~) since it compiles all the PCL packages.
PointCloud{PointT}
The most frequently used type would be PointCloud(defined in PCLCommon.jl), which represents arbitary point type of point cloud (pcl::PointCloud<PointT>::Ptr in C++). In this section we will show the basic usage of PointCloud type quickly.
Create an empty point cloud
using PCLCommoncloud_xyz = PointCloud{PointXYZ}()For different point types, just change the type parameter as follows:
cloud_rgba = PointCloud{PointXYZRGBA}()Create a point cloud with specified size
cloud_xyz = PointCloud{PointXYZ}(100, 200) # width=100, height=200IO
Load a PCD file
using PCLCommon
using PCLIOcloud_xyz = PointCloud{PointXYZ}("your_pcd_data.pcd")needs PCLIO.jl in addition to PCLCommon.jl.
Filtering
PassThrough filter
using PCLCommon
using PCLIO
using PCLFilterscloud = PointCloud{PointXYZRGB}("your_pcd_file.pcd")
cloud_filtered = PointCloud{PointXYZRGB}()
pass = PassThrough{PointXYZRGB}()
setInputCloud(pass, cloud)
setFilterFieldName(pass, "z")
setFilterLimits(pass, 0.0, 1.0)
filter(pass, cloud_filtered)needs PCLFilters.jl.
Visualization
using PCLCommon
using PCLIO
using PCLVisualizationcloud = PointCloud{PointXYZRGB}("your_pcd_file.pcd")
viewer = PCLVisualizer("pcl visualizer")
addPointCloud(viewer, cloud, id="input")
spin(viewer) # you will see the PCLVisualizerneeds PCLVisualization.jl.
Examples and tutorials
See JuliaPCL/PCL/test directory for more examples. It includes more complex filtering, feature extraction, recognition, tracking and visualization examples and also some PCL tutorial translations as well.