ScriptIntrinsicConvolve3x3public final class ScriptIntrinsicConvolve3x3 extends ScriptIntrinsic Intrinsic for applying a 3x3 convolve to an allocation. |
Fields Summary |
---|
private final float[] | mValues | private Allocation | mInput |
Constructors Summary |
---|
private ScriptIntrinsicConvolve3x3(long id, RenderScript rs)
super(id, rs);
|
Methods Summary |
---|
public static android.renderscript.ScriptIntrinsicConvolve3x3 | create(RenderScript rs, Element e)Supported elements types are {@link Element#U8}, {@link
Element#U8_2}, {@link Element#U8_3}, {@link Element#U8_4},
{@link Element#F32}, {@link Element#F32_2}, {@link
Element#F32_3}, and {@link Element#F32_4}
The default coefficients are.
[ 0, 0, 0 ]
[ 0, 1, 0 ]
[ 0, 0, 0 ]
float f[] = { 0, 0, 0, 0, 1, 0, 0, 0, 0};
if (!e.isCompatible(Element.U8(rs)) &&
!e.isCompatible(Element.U8_2(rs)) &&
!e.isCompatible(Element.U8_3(rs)) &&
!e.isCompatible(Element.U8_4(rs)) &&
!e.isCompatible(Element.F32(rs)) &&
!e.isCompatible(Element.F32_2(rs)) &&
!e.isCompatible(Element.F32_3(rs)) &&
!e.isCompatible(Element.F32_4(rs))) {
throw new RSIllegalArgumentException("Unsuported element type.");
}
long id = rs.nScriptIntrinsicCreate(1, e.getID(rs));
ScriptIntrinsicConvolve3x3 si = new ScriptIntrinsicConvolve3x3(id, rs);
si.setCoefficients(f);
return si;
| public void | forEach(Allocation aout)Apply the filter to the input and save to the specified
allocation.
forEach(0, (Allocation) null, aout, null);
| public void | forEach(Allocation aout, Script.LaunchOptions opt)Apply the filter to the input and save to the specified
allocation.
forEach(0, (Allocation) null, aout, null, opt);
| public Script.FieldID | getFieldID_Input()Get a FieldID for the input field of this intrinsic.
return createFieldID(1, null);
| public Script.KernelID | getKernelID()Get a KernelID for this intrinsic kernel.
return createKernelID(0, 2, null, null);
| public void | setCoefficients(float[] v)Set the coefficients for the convolve.
The convolve layout is
[ 0, 1, 2 ]
[ 3, 4, 5 ]
[ 6, 7, 8 ]
FieldPacker fp = new FieldPacker(9*4);
for (int ct=0; ct < mValues.length; ct++) {
mValues[ct] = v[ct];
fp.addF32(mValues[ct]);
}
setVar(0, fp);
| public void | setInput(Allocation ain)Set the input of the blur.
Must match the element type supplied during create.
mInput = ain;
setVar(1, ain);
|
|