Ich habe ein Skript, das Pixel bestimmte Farbe zu löschen.Android Renderscript gesetzt Nachbarpixel transparent
uchar red = 100;
uchar green = 100;
uchar blue = 100;
float treshold = 100;
uchar4 __attribute__((kernel)) saturation(uchar4 in,uint32_t x, uint32_t y)
{
float ddd = ((in.r - red)*(in.r - red) + (in.g - green)*(in.g - green) + (in.b - blue)*(in.b - blue));
float dif = sqrt(ddd);
if (dif <= treshold){
in.a = 0;
in.r = 0;
in.g = 0;
in.b = 0;
}
return in;
}
Dass ich in Java lile laufen:
mScript.set_red((short)r);
mScript.set_blue((short)b);
mScript.set_green((short)g);
mScript.set_treshold(treshold);
mScript.forEach_saturation(mInAllocation, mOutAllocations);
Es funktioniert, aber ich brauche klare Pixelnachbarn mit bestimmten Farbpixel in render? In der Sättigung verarbeiten wir alle Pixel und ich weiß nicht, wie ich auf alle Pixel zugreifen kann.