/// <summary> /// In place image threshold.<para/> /// If for a comparison operations OP the predicate (sourcePixel OP nThreshold) is true, the pixel is set /// to nValue, otherwise it is set to sourcePixel. /// </summary> /// <param name="nThreshold">The threshold value.</param> /// <param name="nValue">The threshold replacement value.</param> /// <param name="eComparisonOperation">eComparisonOperation. Only allowed values are <see cref="NppCmpOp.Less"/> and <see cref="NppCmpOp.Greater"/></param> public void Threshold(byte[] nThreshold, byte[] nValue, NppCmpOp eComparisonOperation) { status = NPPNativeMethods.NPPi.Threshold.nppiThreshold_Val_8u_AC4IR(_devPtrRoi, _pitch, _sizeRoi, nThreshold, nValue, eComparisonOperation); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "nppiThreshold_Val_8u_AC4IR", status)); NPPException.CheckNppStatus(status, this); }
/// <summary> /// Image threshold.<para/> /// If for a comparison operations OP the predicate (sourcePixel OP nThreshold) is true, the pixel is set /// to nThreshold, otherwise it is set to sourcePixel. /// </summary> /// <param name="dest">Destination image</param> /// <param name="nThreshold">The threshold value.</param> /// <param name="eComparisonOperation">eComparisonOperation. Only allowed values are <see cref="NppCmpOp.Less"/> and <see cref="NppCmpOp.Greater"/></param> public void Threshold(NPPImage_8uC4 dest, byte[] nThreshold, NppCmpOp eComparisonOperation) { status = NPPNativeMethods.NPPi.Threshold.nppiThreshold_8u_AC4R(_devPtrRoi, _pitch, dest.DevicePointerRoi, dest.Pitch, _sizeRoi, nThreshold, eComparisonOperation); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "nppiThreshold_8u_AC4R", status)); NPPException.CheckNppStatus(status, this); }
/// <summary> /// Compare pSrc's pixels with constant value. Not affecting Alpha. /// </summary> /// <param name="constants">list of constants, one per color channel.</param> /// <param name="dest">Destination image</param> /// <param name="eComparisonOperation">Specifies the comparison operation to be used in the pixel comparison.</param> public void CompareA(byte[] constants, NPPImage_8uC1 dest, NppCmpOp eComparisonOperation) { status = NPPNativeMethods.NPPi.Compare.nppiCompareC_8u_AC4R(_devPtrRoi, _pitch, constants, dest.DevicePointerRoi, dest.Pitch, _sizeRoi, eComparisonOperation); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "nppiCompareC_8u_AC4R", status)); NPPException.CheckNppStatus(status, this); }
/// <summary> /// 64-bit in place floating point complex number signal threshold with constant level. /// </summary> /// <param name="pSrcDst">In-Place Signal Pointer.</param> /// <param name="nLevel">Constant threshold value (real part only and must be greater than 0) to be used to limit each signal sample</param> /// <param name="nRelOp">NppCmpOp type of thresholding operation (NPP_CMP_LESS or NPP_CMP_GREATER only).</param> public static void Threshold(this CudaDeviceVariable<Npp64fc> pSrcDst, double nLevel, NppCmpOp nRelOp) { NppStatus status = NPPNativeMethods.NPPs.Threshold.nppsThreshold_64fc_I(pSrcDst.DevicePointer, pSrcDst.Size, nLevel, nRelOp); Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "nppsThreshold_64fc_I", status)); NPPException.CheckNppStatus(status, pSrcDst); }
public static extern NppStatus nppsThreshold_64f_I( IntPtr pSrcDst, int nLength, Npp64f nLevel, NppCmpOp nRelOp);
public static extern NppStatus nppsThreshold_32fc( IntPtr pSrc, IntPtr pDst, int nLength, Npp32f nLevel, NppCmpOp nRelOp);