CUDA SDK ディストリビューションのNvidia Performance Primitives (NPP)画像処理の例では、通常、画像はオブジェクトとして CPU に保存され、画像はオブジェクトとして GPU に保存されます。ImageCPUImageNPP
boxFilterNPP.cppImageCPUは、これらとImageNPPオブジェクトを使用する CUDA SDK の例です。
のようなフィルター (畳み込み) 関数を使用する場合、フィルターをオブジェクトnppiFilterとして定義するのが理にかなっています。ただし、オブジェクトImageCPUの値を設定する明確な方法はわかりません。ImageCPU
npp::ImageCPU_32f_C1 hostKernel(3,3); //allocate space for 3x3 convolution kernel
//want to set hostKernel to [-1 0 1; -1 0 1; -1 0 1]
hostKernel[0][0] = -1; //this doesn't compile
hostKernel(0,0) = -1; //this doesn't compile
hostKernel.at(0,0) = -1; //this doesn't compile
ImageCPUオブジェクトに手動で値を入れるにはどうすればよいですか?
ノート:
nppiFilterコード スニペットでは実際には使用しませんでした。オブジェクトnppiFilterに値を書き込むための動機付けの例として言及しているだけです。ImageCPU- boxFilterNPP.cppの例では、組み込みのガウス平滑化フィルター (おそらく [1 1 1; 1 1 1; 1 1 1] のようなもの) を使用する特殊なケースである
ImageCPUため、オブジェクトへの直接書き込みは含まれていません。nppiFilterBoxnppiFilter