All Projects → vmoglan → pcljava

vmoglan / pcljava

Licence: MIT License
A port of the Point Cloud Library (PCL) using Java Native Interface (JNI).

Programming Languages

C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to pcljava

Fast gicp
A collection of GICP-based fast point cloud registration algorithms
Stars: ✭ 307 (+1515.79%)
Mutual labels:  point-cloud, pcl
Pcl Ros Cluster Segmentation
Cluster based segmentation of Point Cloud with PCL lib in ROS
Stars: ✭ 123 (+547.37%)
Mutual labels:  point-cloud, pcl
Depth clustering
🚕 Fast and robust clustering of point clouds generated with a Velodyne sensor.
Stars: ✭ 657 (+3357.89%)
Mutual labels:  point-cloud, pcl
Ndt omp
Multi-threaded and SSE friendly NDT algorithm
Stars: ✭ 291 (+1431.58%)
Mutual labels:  point-cloud, pcl
pcl.py
Templated python inferface for Point Cloud Library (PCL) based on Cython
Stars: ✭ 64 (+236.84%)
Mutual labels:  point-cloud, pcl
Pcl
Point Cloud Library (PCL)
Stars: ✭ 6,897 (+36200%)
Mutual labels:  point-cloud, pcl
Point Cloud Filter
Scripts showcasing filtering techniques applied to point cloud data.
Stars: ✭ 34 (+78.95%)
Mutual labels:  point-cloud, pcl
Lidar camera calibration
Light-weight camera LiDAR calibration package for ROS using OpenCV and PCL (PnP + LM optimization)
Stars: ✭ 133 (+600%)
Mutual labels:  point-cloud, pcl
Pclpy
Python bindings for the Point Cloud Library (PCL)
Stars: ✭ 212 (+1015.79%)
Mutual labels:  point-cloud, pcl
Cloud annotation tool
L-CAS 3D Point Cloud Annotation Tool
Stars: ✭ 182 (+857.89%)
Mutual labels:  point-cloud, pcl
persee-depth-image-server
Stream openni2 depth images over the network
Stars: ✭ 21 (+10.53%)
Mutual labels:  point-cloud, pcl
pcl-edge-detection
Edge-detection application with PointCloud Library
Stars: ✭ 32 (+68.42%)
Mutual labels:  point-cloud, pcl
cloud to map
Algorithm that converts point cloud data into an occupancy grid
Stars: ✭ 26 (+36.84%)
Mutual labels:  point-cloud, pcl
openjfx-docs
Getting started guide for JavaFX 11
Stars: ✭ 70 (+268.42%)
Mutual labels:  maven
easy-java
整理java技术要点,让java更简单,更容易上手。
Stars: ✭ 23 (+21.05%)
Mutual labels:  maven
scalor-maven-plugin
Build integrator for Java, Scala, Scala.macro, Scala.js, Scala.native, Eclipse and Maven.
Stars: ✭ 47 (+147.37%)
Mutual labels:  maven
pointnet2-pytorch
A clean PointNet++ segmentation model implementation. Support batch of samples with different number of points.
Stars: ✭ 45 (+136.84%)
Mutual labels:  point-cloud
checksum-maven-plugin
Compute Maven project artifacts/dependencies/files checksum digests.
Stars: ✭ 36 (+89.47%)
Mutual labels:  maven
ServletContainer
A servlet container which can parse static resource,servlet and jsp.
Stars: ✭ 20 (+5.26%)
Mutual labels:  maven
BtcDet
Behind the Curtain: Learning Occluded Shapes for 3D Object Detection
Stars: ✭ 104 (+447.37%)
Mutual labels:  point-cloud

Point-Cloud Library Java

Tag

The goal of this project is to make Point-Cloud Library (PCL) data-structures and algorithms available in Java projects via the Java Native Interface (JNI). Currently supported operating systems are Windows and Linux (64bit architecture only).

Setup

Point-Cloud Library version 1.11.1 as well as all of its dependencies need to be installed in order to use pcljava; these dependencies do NOT come packed with the artifacts associated with this project.

  • An all-in-one PCL installer exists for Windows; once the installation is complete, the following directories must be added to the PATH environment variable:
    • C:\Program Files\PCL 1.11.1\bin
    • C:\Program Files\PCL 1.11.1\3rdParty\VTK\bin
    • C:\Program Files\CMake\bin
    • C:\Program Files\PCL 1.11.1\3rdParty\Boost\lib
    • C:\Program Files\PCL 1.11.1\3rdParty\FLANN\bin
    • C:\Program Files\PCL 1.11.1\3rdParty\Qhull\bin
    • C:\Program Files\OpenNI2\Redist
  • On Linux PCL can be built from source using this guide.

Usage

Project configuration

To include the pcljava library in your project, your pom.xml must have the following configuration:

<repositories>
  <repository>
    <id>github-pcljava</id>
    <name>Point-Cloud Library JNI Port Packages</name>
    <url>https://maven.pkg.github.com/vmoglan/pcljava</url>
  </repository>
</repositories>
<dependency>
  <groupId>com.github.vmoglan</groupId>
  <artifactId>pcljava</artifactId>
  <version><!-- e.g. 0.0.1-SNAPSHOT --></version>
</dependency> 

In addition to that, the pom.xml file must be configured to unpack the native dependencies — see the <profiles> section in this example.

The native pcljava library must also be loaded in your project as such:

class Main {
	static {	
		System.loadLibrary("pcljava");
	}
}

Examples

  • Instantiating a class for which memory is allocated in native code (i.e. a class extending NativeObject):
PointCloud3d cloud = new PointCloud3d(); // creating Java instance
cloud.create(); // allocating memory in the native code

// perform operations on cloud

cloud.dispose(); // freeing the memory allocated in the native code
  • Estimating the normal vectors of a three-dimensional point-cloud:
PointCloud3dReaderPly reader = new PointCloud3dReaderPly();
PointCloud3d cloud = reader.read("/path/to/cloud.ply");

NormalEstimation normalEstimation = new NormalEstimation(cloud, 0.03f);
NormalCloud normals = normalEstimation.compute();
		
cloud.dispose();
normals.dispose();
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].