Coder Social home page Coder Social logo

kwaegel / pcl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pointcloudlibrary/pcl

4.0 4.0 6.0 217.78 MB

Point Cloud Library (PCL)

Home Page: http://www.pointclouds.org

License: Other

Shell 0.02% C++ 94.25% C 0.95% Python 0.18% Objective-C 0.01% Cuda 4.38% CSS 0.13% Emacs Lisp 0.03% Prolog 0.01% MATLAB 0.02% Objective-C++ 0.03%

pcl's People

Contributors

aichim avatar andersgb1 avatar arbeitor avatar atrevor avatar blodow avatar bouffa avatar clockwise9 avatar daviddoria avatar fedassa avatar fran6co avatar garaemon avatar gedikli avatar goleary avatar itzsid avatar jkammerl avatar jpapon avatar jspricke avatar justinuang avatar koenbuys avatar krips89 avatar nizar-sallem avatar nsomani avatar raphaelfavier avatar rbrusu avatar sdmiller avatar stevefox avatar taketwo avatar victorlamoine avatar vrabaud avatar z-marton avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pcl's Issues

Please rework "OpenNI 2 found" message

Just realized the following message is displayed during build where openni2 is detected:

"OpenNI 2 found"

I verified this comes from cmake/Modules/FindOpenNI2.cmake
could you please change it to "OpenNI2 found" which seems more appropriate?

thank you in advance
Davide

Multiple devices syncronization

Hi,
It seems there is an issue with multiple devices running simultaneously.
The XYZ values of the points clouds are corrects, but the RGB colors sometimes are not.

I temporarily fix the issue by adding a global mutex in "imageDepthImageCallback" of "OpenNI2Grabber" class, but I don't think it is the right way to fix it.

Here is what I've done

// defining a global mute
boost::mutex verybadpatch_mutex;
void
pcl::io::OpenNI2Grabber::imageDepthImageCallback (const Image::Ptr &image,
  const DepthImage::Ptr &depth_image)
{
  // syncing with other running devices
  boost::mutex::scoped_lock lock (verybadpatch_mutex);
  // check if we have color point cloud slots
  if (point_cloud_rgb_signal_->num_slots () > 0)

Error in io\CmakeLists.txt

Line 299 target_link_libraries("${LIB_NAME}" "${PNG_LIBRARY}")
should be
target_link_libraries("${LIB_NAME}" ${PNG_LIBRARY})

pcl_io build failed at openni2_pullrequest

Branch: openni2_pullrequest
Commit: ff807ef
Compiler: Visual Studio 2010
Initial condition: PCL is configurated so that only OpenNi2 is enabled (OpenNi is disabled). However, both versions are installed in the system and pcl_config.h contains

#define HAVE_OPENNI 1
#define HAVE_OPENNI2 1

Summary: pcl_io is failing to link because of unresolved symbols in pcd_grabber.obj.

Error message:

pcd_grabber.obj : error LNK2001: unresolved external symbol "public: virtual bool __cde openni_wrapper::ImageRGB24::isResizingSupported(unsigned int,signed int,unsigned int,unsigned int)const " (?isResizingSupported@ImageRGB24@openni_wrper@@UEBA_NIIII@Z)
pcd_grabber.obj : error LNK2001: unresolved external symbol "public: virtual void __cde openni_wrapper::ImageRGB24::fillRGB(unsigned int,unsigned int,signed char *,unsigned int)const " (?fillRGB@ImageRGB24@openni_wrapper@@UEBAXIIPEAEI@Z)
pcd_grabber.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl opei_wrapper::ImageRGB24::fillGrayscale(signed int,unsigned int,signed char *,unsigned int)const " (?fillGrayscale@ImageRGB24@openni_wrapper@@UEBAXIIPEAEI@Z)
pcd_grabber.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl openni_wrapper::ImageRGB24::~ImageRGB24(void)" ?1ImageRGB24@openni_wrapper@@UEAA@XZ) referenced in function "public: virtual void * __cdecl openni_wrapper::ImageRGB24::`scalar deleting destructor'(signed int)" (??_GImageRGB24@openni_wrapper@@UEAAPEAXI@Z)

Some toughts:

  • Could be that openni_wrapper::ImageRGB24 is mistakenly used instead of pcl::io::ImageRGB24.
  • Maybe there should be an ifdef HAVE_OPENNI2 in pcd_grabber.h similar to ifdef HAVE_OPENNI.

An easy fix is to configure PCL with both OPENNI and OPENNI2 enabled.

OpenNI2 not found

while cross-compiling pcl i get the following message:

-- Could NOT find OpenNI2 (missing: OPENNI2_INCLUDE_DIRS)

inside the sysroot I verified the existence of "usr/include/openni2" and its files: OpenNI.h in particular, since "cmake/Modules/FindOpenNI2.cmake" relies on the following:

find_path(OPENNI2_INCLUDE_DIRS OpenNI.h
PATHS "$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}" # Linux/Windows default path, Win64 needs '64' suffix
)

I've changed the above with this ("openni2/OpenNI.h" instead of "OpenNI.h")

find_path(OPENNI2_INCLUDE_DIRS openni2/OpenNI.h
PATHS "$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}" # Linux/Windows default path, Win64 needs '64' suffix
)

and openni2 is now detected correctly.
found some (unofficial) deb packages dor openni2 and they all seem to have Openni.h inside "usr/include/openni2"

regards,
Davide

Camera Intrinsics getters do nothing

The structs depth_parameters_ and rgb_parameters_ are never set, thus the getter don't work. Change to use the method in convertTo[...] methods, where values are returned from the OpenNI2 API unless overridden by external calibration.

kinfu_app broken

Hi kwaegel,

Sorry for posting this question in the issue about Openni2 device destructor. According to your advice, I setup Boost 1.55 on my computer, but I found the content in files point_types.h are all the same no matter in branches of master, kinfu and openni2, then the build are all failed when I tried to compile kinfu_app.cpp.

The compile error are: 'type' is not a member of 'boost::mpl::contains'(in file of point_types.h), and 'type' is not a member of 'pcl::traits::fieldList'(in file of point_traits.h).

I checked the contain.hpp in boost directory, there is indeed no definition of 'type'. Could you please help me to solve this problem? Thanks very much!

Inconsistence between CMake install rules and includes in headers

io/CMakeLists.txt contains an installation rule for OpenNI2:

PCL_ADD_INCLUDES("${SUBSYS_NAME}" "${SUBSYS_NAME}/openni2_camera" ${OPENNI2_INCLUDES})

However, openni2_grabber.h contains following includes

#include <pcl/io/openni2/openni2_device_manager.h>
#include <pcl/io/openni2/openni2_device.h>

3rd-party application that tries to use OpenNI2 in PCL will fail to build. Either installation rule or header should be changed.

Since the actual folder name for headers is openni2, it seems that changing installation rule is easier.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.