rangeImage is always empty when using createFromPointCloud()

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

rangeImage is always empty when using createFromPointCloud()

icedoggy
Hi there!

I want to convert an unorganized point cloud to a rangeImage. I've basically followed the tutorial ( http://pointclouds.org/documentation/tutorials/range_image_creation.php ). If I use the exact code from the tutorial or when i read in my own point cloud, the result is the same. All ZERO.

There are no compiler or run-time problems / crashes, but when I output the point cloud information (e.g. cout the width and height and size, everything is zero.

Can someone shed some light on it please?

Also, how can i visualize and save the rangeImage?
For saving I have tried pcl::io::savePNGFile() but it  fails of course as there is no data inside the rangeImage. But would that be the way to do it?

Cheers!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: rangeImage is always empty when using createFromPointCloud()

icedoggy
This post was updated on .
So I found this tutorial now: http://pointclouds.org/documentation/tutorials/range_image_visualization.php

and following it, I can see that it works, principally at least. The resulting rangeImage is, however, only 10 x 11 pixels large or 15 x 12, depending how I vary the angularResulution. Here is a screenshot...


However, It appears that the output image renders the rangeImage from the default position of the pcl_viewer. When I press "c" to get the camera parameters of the viewer i get these values:

Clipping plane [near,far] 73.2078, 118.489
Focal point [x,y,z] 56.431, 29.711, 15.6045  
Position [x,y,z] 56.431, 29.711, 108.759  // lets call this p0
View up [x,y,z] 0, 1, 0                             // lets call this view0
Camera view angle [degrees] 49.1311

here is the default view. Its a top-down view which for a plane / facade is not very useful.


however, i would need a generated image from this point of view, a front-view.


Clipping plane [near,far] 0.131234, 131.234
Focal point [x,y,z] 58.3524, 31.0412, 15.0909
Position [x,y,z] 83.5202, -4.28648, 17.7529      // lets cal lthis p1
View up [x,y,z] -0.0197777, 0.0611065, 0.997935   // lets call this view1
Camera view angle [degrees] 49.1311

Is there a way to get this done automatically?
I suppose I can rotate the point cloud into this position by multiplying it with a rotation matrix. But how do I get this matrix?
Do I have to translate the point cloud first using: t_vec = p1-p0 ?
And then I would need to rotate it by R = ?? .  How would I get a proper R here using view0 and view1? Do I need to SLERP those two vectors to obtain the difference of rotationVectors and then construct the proper R from this?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

happy wheels

happywheelsqa
This post has NOT been accepted by the mailing list yet.
In reply to this post by icedoggy
Thank you for sharing this article with us! I believe there will be more people like me, they can find many interesting things in this article of you!
-happy wheels
-impossible game
-roll the ball
Loading...