Motion blur in camera images by shutter speed
Hi there,
I wonder how it is possible to simulate motion blur in camera images via Gazebo. In real life this is caused by the shutter speed, where the shutter is open for a specific amount of time to gather the photons while an object moves through the scene. I already thought about supersampling: Have a simulated framerate of 1000 fps, a shutter speed of 15 ms, and a requested framerate of e.g. 10 fps. Then, every 100 ms 15 images are taken from the scene which are summed up and normalized. This is actually a valid approach but causes also pretty heavy CPU load.
Does anyone have a better idea?
Asked by tik0 on 2017-11-02 12:26:20 UTC
Comments
You can do this in the GPU. You would need some knowledge of OGRE which is the rendering engine gazebo uses. The general idea is to create a gazebo sensor plugin that loads an OGRE compositor for doing motion blur, and setting that on the camera. This is how gazebo is applying gaussian noise to the cameras: https://bitbucket.org/osrf/gazebo/src/default/gazebo/sensors/GaussianNoiseModel.cc?fileviewer=file-view-default#GaussianNoiseModel.cc-212
Asked by iche033 on 2017-11-08 13:49:36 UTC