Re: PCL-users Digest, Vol 86, Issue 28

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: PCL-users Digest, Vol 86, Issue 28

Biswajit Biswas
Thanks to God! I am successfully compiled PCL (GitHub library) with GPU on Windows 64-bit system and run each and every practice codes (

Doxygen site). Also, I can execute many my personal codes without no complicacy. If you need any help regarding 

PCL compilation, please contact me.


On Thu, Oct 26, 2017 at 6:37 PM, <[hidden email]> wrote:
Send PCL-users mailing list submissions to
        [hidden email]

To subscribe or unsubscribe via the World Wide Web, visit
        http://pointclouds.org/mailman/listinfo/pcl-users
or, via email, send a message with subject or body 'help' to
        [hidden email]

You can reach the person managing the list at
        [hidden email]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of PCL-users digest..."


Today's Topics:

   1. Linker problems with 1.8.1 on Windows (Dr. Heiko Münkel)
   2. Problem by displaying Correspondences (Registration) (Jue_KA)
   3. Problems with detecting walls in a pointcloud. (DungeonMaster)
   4. Re: Problems with detecting walls in a pointcloud. (ROZAR Fabien)


----------------------------------------------------------------------

Message: 1
Date: Thu, 26 Oct 2017 02:44:39 -0700 (MST)
From: Dr. Heiko Münkel <[hidden email]>
To: [hidden email]
Subject: [PCL-users] Linker problems with 1.8.1 on Windows
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=us-ascii

Hi,

I've problems to link a program with the PCL 1.8.1 on a 64-Bit Windows 7
system with the VisualStudio 2015. I was able to link the same program with
the VisualStudio 2010 an PCL 1.7.1.

I'm using the following AllInOne installation:
https://github.com/PointCloudLibrary/pcl/releases/download/pcl-1.8.1/PCL-1.8.1-AllInOne-msvc2015-win64.exe

Here are the first three error lines:
1>     Creating library C:\Users\heiko.muenkel\Documents\Visual Studio
2010\Projects\Toolt32-VS2015\x64\Debug\VialogNativePclLib.lib and object
C:\Users\heiko.muenkel\Documents\Visual Studio
2010\Projects\Toolt32-VS2015\x64\Debug\VialogNativePclLib.exp
1>PointCloudWrapper.obj : error LNK2019: unresolved external symbol "public:
void __cdecl pcl::EuclideanClusterExtraction<struct
pcl::PointNormal>::extract(class std::vector<struct pcl::PointIndices,class
std::allocator<struct pcl::PointIndices> > &)"
(?extract@?$EuclideanClusterExtraction@UPointNormal@pcl@@@pcl@@QEAAXAEAV?$vector@UPointIndices@pcl@@V?$allocator@UPointIndices@pcl@@@std@@@std@@@Z)
referenced in function "public: class boost::shared_ptr<class
std::vector<class boost::shared_ptr<class
VialogNativePclLib::PointCloudWrapper>,class std::allocator<class
boost::shared_ptr<class VialogNativePclLib::PointCloudWrapper> > > > __cdecl
VialogNativePclLib::PointCloudWrapper::RemoveSmallCluster(int,float,float,float)"
(?RemoveSmallCluster@PointCloudWrapper@VialogNativePclLib@@QEAA?AV?$shared_ptr@V?$vector@V?$shared_ptr@VPointCloudWrapper@VialogNativePclLib@@@boost@@V?$allocator@V?$shared_ptr@VPointCloudWrapper@VialogNativePclLib@@@boost@@@std@@@std@@@boost@@HMMM@Z)

1>PointCloudWrapper.obj : error LNK2001: unresolved external symbol
"protected: virtual void __cdecl pcl::ProjectInliers<struct
pcl::PointNormal>::applyFilter(class pcl::PointCloud<struct
pcl::PointNormal> &)"
(?applyFilter@?$ProjectInliers@UPointNormal@pcl@@@pcl@@MEAAXAEAV?$PointCloud@UPointNormal@pcl@@@2@@Z)

1>PointCloudWrapper.obj : error LNK2001: unresolved external symbol
"private: virtual bool __cdecl pcl::ProjectInliers<struct
pcl::PointNormal>::initSACModel(int)"
(?initSACModel@?$ProjectInliers@UPointNormal@pcl@@@pcl@@EEAA_NH@Z)


I've added the following libs to the linker input:
pcl_kdtree_debug.lib
pcl_common_debug.lib
pcl_search_debug.lib
pcl_surface_debug.lib
pcl_filters_debug.lib
vtkRenderingCore-8.0-gd.lib
vtkCommonCore-8.0-gd.lib
vtkCommonMath-8.0-gd.lib
pcl_visualization_debug.lib
vtkCommonDataModel-8.0-gd.lib
pcl_io_debug.lib
pcl_registration_debug.lib
vtkRenderingLOD-8.0-gd.lib
pcl_features_debug.lib
pcl_io_ply_debug.lib
pcl_keypoints_debug.lib
pcl_ml_debug.lib
pcl_octree_debug.lib
pcl_outofcore_debug.lib
pcl_people_debug.lib
pcl_recognition_debug.lib
pcl_sample_consensus_debug.lib
pcl_segmentation_debug.lib
pcl_stereo_debug.lib
pcl_tracking_debug.lib

Any ideas?

Thanks for you help.







--
Sent from: http://www.pcl-users.org/


------------------------------

Message: 2
Date: Thu, 26 Oct 2017 05:12:11 -0700 (MST)
From: Jue_KA <[hidden email]>
To: [hidden email]
Subject: [PCL-users] Problem by displaying Correspondences
        (Registration)
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=us-ascii

Hello Everyone,

I have problem with displaying two pointclouds and their correspondences
with the PCLVisualizer from this tutorial:
http://pointclouds.org/documentation/tutorials/pcl_visualizer.php

The program compiles, and I can run it. The message in the terminal after
the program is finished is "Segmentation fault (core dumped)"

Here is my code:

The Viewer:

boost::shared_ptr<pcl::visualization::PCLVisualizer>
corrVis(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud5,
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud6,
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_key,
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud2_key,
boost::shared_ptr<pcl::Correspondences> corr1)
{
  boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer (new
pcl::visualization::PCLVisualizer ("3D Viewer"));
  viewer->setBackgroundColor (0,0,0);
  viewer->addPointCloud<pcl::PointXYZ> (cloud5, "cloud5");
  viewer->addPointCloud<pcl::PointXYZ> (cloud6, "cloud6");
  //viewer->addPointCloud<pcl::PointXYZ> (cloud_key, "Keypoints1");
  //viewer->addPointCloud<pcl::PointXYZ> (cloud2_key, "Keypoints2");
  viewer->addCorrespondences<pcl::PointXYZ> (cloud_key, cloud2_key, *corr1,
"Correspondences");
  viewer->setPointCloudRenderingProperties
(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "Correspondence");


  viewer->initCameraParameters();

  return(viewer);

}


The Correspondence Estimation:

 boost::shared_ptr<pcl::Correspondences> all_correspondences (new
pcl::Correspondences);
  pcl::registration:: CorrespondenceEstimation<pcl::FPFHSignature33,
pcl::FPFHSignature33> est;
  est.setInputSource (pfhFeatures2);
  est.setInputTarget (pfhFeatures);
  est.determineReciprocalCorrespondences (*all_correspondences);


The correspondence rejection:

  boost::shared_ptr<pcl::Correspondences> corr_filtered (new
pcl::Correspondences);
  pcl::registration::CorrespondenceRejectorSampleConsensus<pcl::PointXYZ>
rej;
  rej.setInputSource(keypoints2_xyz);
  rej.setInputTarget(keypoints_xyz);
  rej.setInlierThreshold(1.2);
  rej.setRefineModel(false);
  rej.setInputCorrespondences(all_correspondences);
  rej.getCorrespondences(*corr_filtered);

and the call for the viewer

  else if (cloud_dc)
   {
     viewer = corrVis(cloud_trans,cloud_down,keypoints_xyz, cloud_trans_key,
corr_filtered);
   }

Can anybody please help...I'm new to PCL and CPP?



--
Sent from: http://www.pcl-users.org/


------------------------------

Message: 3
Date: Thu, 26 Oct 2017 05:41:38 -0700 (MST)
From: DungeonMaster <[hidden email]>
To: [hidden email]
Subject: [PCL-users] Problems with detecting walls in a pointcloud.
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=us-ascii

Hello,

I'm a pretty new user of PCL and I have some problems detecting walls in
given pointcloud.

The idea is to detect 2 planes with RANSAC that wold be perpendicular to XY
plane with some small deviation. I decide to use
pcl::SACMODEL_PERPENDICULAR_PLANE. But in segmentation parameters I can only
set axises and in result I got some inclined planes or even no results. Are
there any ways to strictly set a plane in segmentation parameters, or maybe
you have any other suggestions to this kind of task.

Here is my code:

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/console/parse.h>
#include <pcl/common/common_headers.h>
#include <pcl/common/angles.h>
#include <pcl/ModelCoefficients.h>
#include <pcl/sample_consensus/method_types.h>
#include <pcl/sample_consensus/model_types.h>
#include <pcl/segmentation/sac_segmentation.h>
#include <pcl/filters/extract_indices.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/point_cloud_color_handlers.h>

//main
int
main(int argc, char** argv)
{
        //Fetch point cloud filename in arguments | Works with PCD files
        std::vector<int> filenames;
        filenames = pcl::console::parse_file_extension_argument (argc, argv,
".pcd");

        //Load file
        pcl::PointCloud<pcl::PointXYZRGB>::Ptr source_cloud_1 (new
pcl::PointCloud<pcl::PointXYZRGB> ());
        pcl::PointCloud<pcl::PointXYZRGB>::Ptr source_cloud_2 (new
pcl::PointCloud<pcl::PointXYZRGB> ());
        pcl::io::loadPCDFile (argv[filenames[0]], *source_cloud_1);
        pcl::io::loadPCDFile (argv[filenames[0]], *source_cloud_2);

        //Segmentation parameters
        pcl::PointCloud<pcl::PointXYZRGB>::Ptr walls (new
pcl::PointCloud<pcl::PointXYZRGB> ());
        pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients);
        pcl::PointIndices::Ptr inliers (new pcl::PointIndices);
        pcl::SACSegmentation<pcl::PointXYZRGB> seg;
        seg.setModelType (pcl::SACMODEL_PERPENDICULAR_PLANE);
        seg.setMethodType (pcl::SAC_RANSAC);
        seg.setOptimizeCoefficients (true);
        seg.setDistanceThreshold (1.0);
        seg.setAxis(Eigen::Vector3f(1,0,0));
        seg.setAxis(Eigen::Vector3f(0,1,0));
        seg.setEpsAngle (pcl::deg2rad (5.));
        pcl::ExtractIndices<pcl::PointXYZRGB> extract;
        int i=0;

        //Segmentation cycle for 2 walls
        while (i<2)
        {
                //Segment the wall
                seg.setInputCloud (source_cloud_2);
                seg.segment (*inliers, *coefficients);

                //Extraction
                extract.setInputCloud (source_cloud_2);
                extract.setIndices (inliers);
                extract.setNegative (false);
                extract.filter (*walls);

                //Create new filtering object
                extract.setNegative (true);
                extract.filter (*source_cloud_2);

                i++;
        }

        //Visualization
        pcl::visualization::PCLVisualizer viewer ("2_wall_segmentation");

        int v1(0);
        viewer.createViewPort(0.0, 0.0, 0.5, 1.0, v1);
        viewer.setBackgroundColor (0, 0, 0, v1);
        viewer.addText("Original", 10, 10, "v1 text", v1);
        viewer.addCoordinateSystem (1.0, v1);
        pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB>
rgb1(source_cloud_1);
        viewer.addPointCloud<pcl::PointXYZRGB> (source_cloud_1, rgb1, "sample
cloud1", v1);

        int v2(0);
        viewer.createViewPort(0.5, 0.0, 1.0, 1.0, v2);
        viewer.setBackgroundColor (0, 0, 0, v2);
        viewer.addText("Walls", 10, 10, "v2 text", v2);
        viewer.addCoordinateSystem (1.0, v2);
        pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB>
rgb2(source_cloud_2);
        viewer.addPointCloud<pcl::PointXYZRGB> (source_cloud_2, rgb2, "sample
cloud2", v2);
        pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZRGB>
color1(walls, 0, 255, 0);
        viewer.addPointCloud<pcl::PointXYZRGB> (walls, color1, "sample cloud3",
v2);

        //Display the visualiser until 'q' key is pressed
        while (!viewer.wasStopped ())
        {
                viewer.spinOnce ();
        }

        return 0;
}

And the file that I use:

My file <https://drive.google.com/open?id=0B3Ly06lvT5-iUTN2Zk9UQUlnMEE>

Sorry for my English and thank you for help.




--
Sent from: http://www.pcl-users.org/


------------------------------

Message: 4
Date: Thu, 26 Oct 2017 15:06:54 +0200
From: ROZAR Fabien <[hidden email]>
To: [hidden email]
Subject: Re: [PCL-users] Problems with detecting walls in a
        pointcloud.
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

Hello,

I am working on another method tahn RANSAC of segmentation for
plane fitting and I was curious about your point cloud. So I download
it and run blindy my program on it to see the results (see attached
images). The different colors on the images indicate different planes,
nothing more.

Questions:
Your point cloud is a scan of what kind of object please?
Can you show me on the attached images what are the planes you
are interested in please?

When I look at the point cloud without plane fitting, it seems difficult
to see any plane... The surfaces of your point cloud seems to be really
curved.

frozar, who tries to help

Le 26/10/2017 à 14:41, DungeonMaster a écrit :
> Hello,
>
> I'm a pretty new user of PCL and I have some problems detecting walls in
> given pointcloud.
>
> The idea is to detect 2 planes with RANSAC that wold be perpendicular to XY
> plane with some small deviation. I decide to use
> pcl::SACMODEL_PERPENDICULAR_PLANE. But in segmentation parameters I can only
> set axises and in result I got some inclined planes or even no results. Are
> there any ways to strictly set a plane in segmentation parameters, or maybe
> you have any other suggestions to this kind of task.
>
> Here is my code:
>
> #include <iostream>
> #include <pcl/io/pcd_io.h>
> #include <pcl/console/parse.h>
> #include <pcl/common/common_headers.h>
> #include <pcl/common/angles.h>
> #include <pcl/ModelCoefficients.h>
> #include <pcl/sample_consensus/method_types.h>
> #include <pcl/sample_consensus/model_types.h>
> #include <pcl/segmentation/sac_segmentation.h>
> #include <pcl/filters/extract_indices.h>
> #include <pcl/visualization/pcl_visualizer.h>
> #include <pcl/visualization/point_cloud_color_handlers.h>
>
> //main
> int
> main(int argc, char** argv)
> {
>       //Fetch point cloud filename in arguments | Works with PCD files
>       std::vector<int> filenames;
>       filenames = pcl::console::parse_file_extension_argument (argc, argv,
> ".pcd");
>
>       //Load file
>       pcl::PointCloud<pcl::PointXYZRGB>::Ptr source_cloud_1 (new
> pcl::PointCloud<pcl::PointXYZRGB> ());
>       pcl::PointCloud<pcl::PointXYZRGB>::Ptr source_cloud_2 (new
> pcl::PointCloud<pcl::PointXYZRGB> ());
>       pcl::io::loadPCDFile (argv[filenames[0]], *source_cloud_1);
>       pcl::io::loadPCDFile (argv[filenames[0]], *source_cloud_2);
>
>       //Segmentation parameters
>       pcl::PointCloud<pcl::PointXYZRGB>::Ptr walls (new
> pcl::PointCloud<pcl::PointXYZRGB> ());
>       pcl::ModelCoefficients::Ptr coefficients (new pcl::ModelCoefficients);
>       pcl::PointIndices::Ptr inliers (new pcl::PointIndices);
>       pcl::SACSegmentation<pcl::PointXYZRGB> seg;
>       seg.setModelType (pcl::SACMODEL_PERPENDICULAR_PLANE);
>       seg.setMethodType (pcl::SAC_RANSAC);
>       seg.setOptimizeCoefficients (true);
>       seg.setDistanceThreshold (1.0);
>       seg.setAxis(Eigen::Vector3f(1,0,0));
>       seg.setAxis(Eigen::Vector3f(0,1,0));
>       seg.setEpsAngle (pcl::deg2rad (5.));
>       pcl::ExtractIndices<pcl::PointXYZRGB> extract;
>       int i=0;
>
>       //Segmentation cycle for 2 walls
>       while (i<2)
>       {
>               //Segment the wall
>               seg.setInputCloud (source_cloud_2);
>               seg.segment (*inliers, *coefficients);
>
>               //Extraction
>               extract.setInputCloud (source_cloud_2);
>               extract.setIndices (inliers);
>               extract.setNegative (false);
>               extract.filter (*walls);
>
>               //Create new filtering object
>               extract.setNegative (true);
>               extract.filter (*source_cloud_2);
>
>               i++;
>       }
>
>       //Visualization
>       pcl::visualization::PCLVisualizer viewer ("2_wall_segmentation");
>
>       int v1(0);
>       viewer.createViewPort(0.0, 0.0, 0.5, 1.0, v1);
>       viewer.setBackgroundColor (0, 0, 0, v1);
>       viewer.addText("Original", 10, 10, "v1 text", v1);
>       viewer.addCoordinateSystem (1.0, v1);
>       pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB>
> rgb1(source_cloud_1);
>       viewer.addPointCloud<pcl::PointXYZRGB> (source_cloud_1, rgb1, "sample
> cloud1", v1);
>
>       int v2(0);
>       viewer.createViewPort(0.5, 0.0, 1.0, 1.0, v2);
>       viewer.setBackgroundColor (0, 0, 0, v2);
>       viewer.addText("Walls", 10, 10, "v2 text", v2);
>       viewer.addCoordinateSystem (1.0, v2);
>       pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB>
> rgb2(source_cloud_2);
>       viewer.addPointCloud<pcl::PointXYZRGB> (source_cloud_2, rgb2, "sample
> cloud2", v2);
>       pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZRGB>
> color1(walls, 0, 255, 0);
>       viewer.addPointCloud<pcl::PointXYZRGB> (walls, color1, "sample cloud3",
> v2);
>
>       //Display the visualiser until 'q' key is pressed
>       while (!viewer.wasStopped ())
>       {
>               viewer.spinOnce ();
>       }
>
>       return 0;
> }
>
> And the file that I use:
>
> My file <https://drive.google.com/open?id=0B3Ly06lvT5-iUTN2Zk9UQUlnMEE>
>
> Sorry for my English and thank you for help.
>
>
>
>
> --
> Sent from: http://www.pcl-users.org/
> _______________________________________________
> [hidden email] / http://pointclouds.org
> http://pointclouds.org/mailman/listinfo/pcl-users

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Capture du 2017-10-26 14-58-18.png
Type: image/png
Size: 172972 bytes
Desc: not available
URL: <http://pointclouds.org/pipermail/pcl-users/attachments/20171026/f94d4492/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Capture du 2017-10-26 14-58-25.png
Type: image/png
Size: 154280 bytes
Desc: not available
URL: <http://pointclouds.org/pipermail/pcl-users/attachments/20171026/f94d4492/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Capture du 2017-10-26 14-58-38.png
Type: image/png
Size: 183445 bytes
Desc: not available
URL: <http://pointclouds.org/pipermail/pcl-users/attachments/20171026/f94d4492/attachment-0002.png>

------------------------------

Subject: Digest Footer

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users


------------------------------

End of PCL-users Digest, Vol 86, Issue 28
*****************************************



--
thanks and regards 
mobile:9163016823

_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users