schwarz ist, ich meine Frage stellen how to know pixel color using t_sampler in jocl auf eine andere Weise Ich möchte konw, ob ein Pixel schwarz oder weiß ist zu wissen, dass ich t_sampler in meinem Kernel, wie wissen, ob die Pixelfarbe von einem Schwimmer 4
const sampler_t smp = CLK_NORMALIZED_COORDS_FALSE | //Natural coordinates
CLK_ADDRESS_CLAMP | //Clamp to zeros
CLK_FILTER_NEAREST; //Don't interpolate
bin mit
Dann habe ich
int2 coord = (int2)(get_global_id(0), get_global_id(1));
float4 pixel = read_imageui(input, smp, coord);
Meine Frage ist: wie kann der Pixelwert verwenden, um die Farbe des betreffenden Pixel wissen?
Ich bin von wenigen Tagen fest und ich versuchte viele Lösungen, um dieses Problem zu lösen, Wenn Sie irgendwelche Erläuterungen benötigen, werde ich antworten. Hier ist mein Kernel-Code
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;
}
Sie müssen wissen, welches Farbschema verwendet wird. Ohne Sie kann es nicht entschlüsseln. –
Ich habe nicht verstanden, was Sie durch Farbschema denken, können Sie mir erklären, wie ich es wissen könnte. Gibt es eine Funktion dafür? –
Versuchen Sie Google. Es wird helfen. Z.B. https://en.wikipedia.org/wiki/Color_scheme Ihre Hardware interpretiert den Speicher abhängig vom gewählten Farbschema. –