public void calculate(ComputationBackend.OpenCl.ComputeContext computeContext) { int x, y; for( y = 0; y < inputRgb.getLength(); y++ ) { for( x = 0; x < inputRgb.getWidth(); x++ ) { ColorRgb readColor; float one; float zero; float value; readColor = inputRgb.readAt(x, y); one = (readColor * colorForOne).getMagnitude(); zero = (readColor * colorForZero).getMagnitude(); if( (one + zero) < 0.000001f ) { value = 1.0f; } else { value = one / (one + zero); } resultMap.writeAt(x, y, value); } } }
public void calculate(ComputationBackend.OpenCl.ComputeContext computeContext) { int x, y; for( y = 0; y < inputRgb.getLength(); y++ ) { for( x = 0; x < inputRgb.getWidth(); x++ ) { ColorHsl pixelHsl; ColorRgb pixelRgb; pixelRgb = inputRgb.readAt(x, y); pixelHsl = ColorConversion.rgbToHsl(pixelRgb); resultMap.writeAt(x, y, pixelHsl); } } }
public void calculate(ComputationBackend.OpenCl.ComputeContext computeContext) { int x, y; System.Diagnostics.Debug.Assert(inputA.getWidth() == inputB.getWidth()); System.Diagnostics.Debug.Assert(inputA.getLength() == inputB.getLength()); result = new Map2d<float>((uint)inputA.getWidth(), (uint)inputA.getLength()); for( y = 0; y < inputA.getLength(); y++ ) { for( x = 0; x < inputA.getWidth(); x++ ) { float valueA, valueB, valueResult; valueA = inputA.readAt(x, y); valueB = inputB.readAt(x, y); valueResult = System.Math.Max(valueA, valueB); result.writeAt(x, y, valueResult); } } }
public void putNewTrackedPixel(ComputationBackend.cs.ParticleMotionTracker.TrackedPixel newTrackedPixel, int absoluteWidth, int absoluteHeight) { Vector2<float> relativePosition; relativePosition = new Vector2<float>(); relativePosition.x = newTrackedPixel.position.x / (float)absoluteWidth; relativePosition.y = newTrackedPixel.position.y / (float)absoluteHeight; if( isEmpty() ) { boundaryMin = new Vector2<float>(); boundaryMax = new Vector2<float>(); boundaryMin.x = relativePosition.x; boundaryMin.y = relativePosition.y; boundaryMax.x = relativePosition.x; boundaryMax.y = relativePosition.y; trackedPixels.Add(newTrackedPixel); } else { boundaryMin = Vector2<float>.min(boundaryMin, relativePosition, relativePosition, relativePosition); boundaryMax = Vector2<float>.max(boundaryMax, relativePosition, relativePosition, relativePosition); trackedPixels.Add(newTrackedPixel); } }
public void calculate(ComputationBackend.OpenCl.ComputeContext computeContext) { outputMap = Misc.Convolution2d.convolution(inputMap, gaborKernel); }