예제 #1
0
		/// <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);
		}
예제 #2
0
		/// <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);
		}
예제 #3
0
		/// <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);
		}
예제 #4
0
		/// <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);
		}
예제 #5
0
 public static extern NppStatus nppsThreshold_64f_I(
     IntPtr pSrcDst,
     int nLength,
     Npp64f nLevel,
     NppCmpOp nRelOp);
예제 #6
0
 public static extern NppStatus nppsThreshold_32fc(
     IntPtr pSrc,
     IntPtr pDst,
     int nLength,
     Npp32f nLevel,
     NppCmpOp nRelOp);