fixstars / libSGM

Stereo Semi Global Matching by cuda
Apache License 2.0
623 stars 189 forks source link

How can we apply filtering after disparity is obtained? #49

Open lingjiankong opened 5 years ago

lingjiankong commented 5 years ago

Hello! I am interested in obtain a smoother disparity map for point cloud generation. How can I apply a filtering / smoothing operation in libSGM (for example, similar to OpenCV's DisparityWLSFilter)? Which function / parameter should I call / tweak to obtain the smoother disparity?

Thanks!

mohanen commented 5 years ago

Last time I checked WLS Filter didn't work out the way I expected. #20

Check out Bilateral, it may work out for you.

Also look into SDR, it has lot of parameter to tweak and some what preserved edges in an expected way.

sotsuka-fixstars commented 5 years ago

We also found that SPS which has 11 parameters might work finer.

lingjiankong commented 5 years ago

Last time I checked WLS Filter didn't work out the way I expected. #20

Check out Bilateral, it may work out for you.

Also look into SDR, it has lot of parameter to tweak and some what preserved edges in an expected way.

Thanks. I posted how to get OpenCV's DisparityWLSFilter working in #20, for people who are confused about the data type and interface.

lingjiankong commented 5 years ago

@sotsuka-fixstars Are there any GPU-based filtering implementation that I can use? My goal is to free up as much CPU space as possible.

sotsuka-fixstars commented 5 years ago

@lingjiankong At the moment, we don't have it. OpenCV has CUDA-implemented Bilateral filter in cudaimgproc module. https://docs.opencv.org/4.1.1/d0/d05/group__cudaimgproc.html#ga6abeaecdd4e7edc0bd1393a04f4f20bd

ynma-hanvo commented 2 years ago

Last time I checked WLS Filter didn't work out the way I expected. #20

Check out Bilateral, it may work out for you.

Also look into SDR, it has lot of parameter to tweak and some what preserved edges in an expected way.

is SDR able to run realtime?