<type> pcfilter(int handle, string channel_name, ...)
単純な再構築フィルターを使ってpcopenで見つかったポイントをフィルタリングします。
この関数は、以下の記述とほぼ等価です:
float pcfilter(int handle; string channel) { float sum, w, d; float value, result = 0; while (pciterate(handle)) { pcimport(handle, "point.distance", d); pcimport(handle, channel, value); w = 1 - smooth(0, radius, d); sum += w; result += w * value; } result /= sum; return result; }
pcfilter
はポイントクラウドで開いたポイントを受け取り、フィルタリングされる値を生成します。以下の方程式は、個々のポイントのウェイトの付け方を示しています。
w_i = 1-smooth(0, maxd*1.1, d_i);
maxd
は一番遠いポイントで、w_i
は指定したポイントから距離(d_i
)までの範囲のウェイトです。中心に近いポイントほど、その式に基づいてウェイトが平均値よりも高くなります。
See also | |
ptcloud |
|