カーネルで t_sampler を使用していることを知っているピクセルが黒か白かを知りたい別の方法で、jocl で t_sampler を使用してピクセルの色を知る方法を質問します。
const sampler_t smp = CLK_NORMALIZED_COORDS_FALSE | //Natural coordinates
CLK_ADDRESS_CLAMP | //Clamp to zeros
CLK_FILTER_NEAREST; //Don't interpolate
それから私は使用しました
int2 coord = (int2)(get_global_id(0), get_global_id(1));
float4 pixel = read_imageui(input, smp, coord);
私の質問は、値ピクセルを使用して関係するピクセルの色を知る方法ですか?
私は数日間立ち往生しており、この問題を解決するために多くの解決策を試しました。説明が必要な場合は返信します。ここに私のカーネルコードがあります
const sampler_t smp = CLK_NORMALIZED_COORDS_FALSE | //Natural coordinates
CLK_ADDRESS_CLAMP | //Clamp to zeros
CLK_FILTER_NEAREST; //Don't interpolate
__kernel void basic(__read_only image2d_t input,__global float *result)
{
int gidX = get_global_id(0);
int gidY = get_global_id(1);
int2 coord = (int2)(get_global_id(0), get_global_id(1));
int2 posIn = {gidX, gidY};
float4 pixel = read_imagef(input, smp, posIn);
if ((pixel.x==0.0) && (pixel.y==0.0) && (pixel.z==0.0) ){
result[gidX]=1;
} else result[gidX]=0;
}