-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Blensor pcd output laterally inverted while projecting #24
Comments
Yes, I am using the Blensor based on Blender 2.74, possibly Blensor version 1.0.17. Could this be the root cause? Nevertheless, thanks for pointing this out. I will try out the latest version. |
1.0.17 is quite old. You can try to use 1.0.18, but there may be libraries missing. Please try the newest version first |
Checked out the latest commit in Blensor repo (at commit 338ad01) and tried to repeat the same process with the new version. Here is what I get:
How the new pointcloud looks like The new projected image Summary: With the InvX radio button checked, I managed to invert the entire system by the X-axis, but did not solve the problem. The pointcloud and its projection are still laterally inverted w.r.t each other. Moreover, flipping the entire system along its X-axis is not desired (and makes things pretty complicated, even if I try to use it as a temporary workaround). |
Can you send me the blend and pcd file.
Thanks
Michael
Am 19.03.2018 15:47, schrieb Agniva Sengupta:
… Checked out the latest commit in Blensor repo (at commit 338ad01 [1])
and tried to repeat the same process with the new version. Here is
what I get:
[2]
_New camera render settings with inverted X_
[3]
_How the new pointcloud looks like_
[4]
_The new projected image_
-------------------------
SUMMARY:
With the _InvX_ radio button checked, I managed to invert the entire
system by the X-axis, but did not solve the problem. The pointcloud
and its projection are still laterally inverted w.r.t each other.
--
You are receiving this because you commented.
Reply to this email directly, view it on GitHub [5], or mute the
thread [6].
*
Links:
------
[1]
338ad01
[2]
https://user-images.githubusercontent.com/5153445/37601978-a7288528-2b8b-11e8-8793-1570f40ff06e.png
[3]
https://user-images.githubusercontent.com/5153445/37602025-cada5230-2b8b-11e8-9128-5c6206ad4ee2.png
[4]
https://user-images.githubusercontent.com/5153445/37602064-e085752e-2b8b-11e8-8fd2-f9ada701713c.png
[5]
#24 (comment)
[6]
https://github.com/notifications/unsubscribe-auth/AAXT1Cx0KA1wOLo9LijGAh_U78FyfSYiks5tf8T-gaJpZM4StimS
|
The .blend file can be downloaded here: Sample pcd output files can be found here: (You can ofcourse export from the blender file to generate the full set of pointcloud output) |
Since the output of the pointcloud is correctly mapped on the error may not be in blensor itself. I think the problem is the Z coordinate. In the normal setting the objects in front of the scanner have a negative Z coordinate. If your code projects the data onto a 2D plane without accounting for that, the output should be inverted since the object is actually behind your camera. You should be able to fix that by inverting the Z coordinate (not X) or whatever axis is normal to you image plane. |
Issue Description:
I tried to simulate the Kinect camera using the Blensor application (from the binary release). I used the default object provided, applied an image texture on it, did some animation and rendered it into pcd files.
I want to run some computer vision algorithm on it. I load the pcd files using C++ (with PCL library). I am interested in how the pointcloud looks on the image plane. I do a perspective projection of the pointcloud using default Kinect camera parameters.
Here is when I notice that the projected image is laterally inverted, when compared with the pointcloud.
Here are the details:
Here are the screen grabs of the settings that I use in the Blender GUI:
How the workspace looks like.
Camera Settings.
Transformation Settings.
Settings of the Kinect Camera before scanning/rendering.
You can find a sample of the generated pointcloud in this link: Sample Pointcloud
Here's a screen shot of the PCD file when viewed in pcl_viewer (with the axes visualized):
The pointcloud in pcl viewer. This is how it should actually look like.
And here is the same pointcloud, projected in the image plane:
Projection of the pointcloud, in grayscale.
If you observe closely, you will notice that the image and the pointcloud are aligned oppositely in the horizontal direction.
I have not been able to understand the cause of the problem. Is Blensor dumping the X axis of the scan in the opposite direction? What is the problem and how can this be fixed?
Additional details:
If it helps, here is the code I use to project the pointcloud:
This projection code works fine with other pointclouds, including the ones dumped from real Microsoft Kinect and Intel RealSense.
The text was updated successfully, but these errors were encountered: