1

このnppiGraphcut_32s8u関数は、32 ビットの符号付き整数エッジ容量で機能します。CUDA 6.5ツールキットに含まれているgrabCutの例では、単純に にキャストNpp32fしていNpp32sます。たとえばGrabcutUtil.cu、grabcutNPP のサンプル フォルダーから:

// Top/Bottom
Npp32s bottom;
bottom = _FIXED(edge_weight(center, tex2D(imageTex, x + 0.5f ,y + 1.5f), alpha, beta, 1.0f));

where をedge_weight返しますNpp32f。エッジ容量が大きな値になるように数値を拡大して、丸め誤差を回避しましたか?

4

1 に答える 1

1

「キャスト」ではありません。実装を見てください。_FIXED は、最初に数値を 10 倍してから、丸めルーチンを呼び出します。

そうです、数字は 1 桁だけですが、拡大されます。

于 2015-05-28T13:14:42.590 に答える