CUDA SDK ディストリビューションのNvidia Performance Primitives (NPP)画像処理の例では、通常、画像はオブジェクトとして CPU に保存され、画像はオブジェクトとして GPU に保存されます。ImageCPU
ImageNPP
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
ため、オブジェクトへの直接書き込みは含まれていません。nppiFilterBox
nppiFilter