PCLでBilateralFilterを使う
最近はRealsenseとPCLを使っています。
そちらにかかりっきりで、Panoramazzleが……
備忘録としてPCLについてをちょこちょこまとめていきたいと思います。
深度カメラではブレの多い点群データをきれいにする方法としてBilateralFilterを使ってみます。
#include <pcl/filters/fast_bilateral_omp.h> void BilateralFilter( const pcl::PointCloud<PointType>::ConstPtr &srcCloud, const float &sigmaR, const float &sigmaS, pcl::PointCloud<PointType>::Ptr &dstCloud ) { pcl::FastBilateralFilterOMP<PointType> bf; bf.setInputCloud( srcCloud ); bf.setSigmaR( sigmaR ); bf.setSigmaS( sigmaS ); bf.applyFilter( *dstCloud ); }
フィルターをかける前
かけた後
パラメーターはσR = 0.05, σS = 15.0
ぱっと見あんまりわからないですが、切り替えながら見ると
シュッとした感じになります。
手法はいくつかあるようで、fastが付くつかない、OpenMPを使う使わないがあるようですが、
ひとまずfast+OpenMPで