// quadtree.c (169, 1) // pixQuadtreeVariance(pixs, nlevels, pix_ma, dpix_msa, pfpixa_v, pfpixa_rv) as int // pixQuadtreeVariance(PIX *, l_int32, PIX *, DPIX *, FPIXA **, FPIXA **) as l_ok /// <summary> /// (1) The returned fpixav and fpixarv have %nlevels of fpix, /// each containing at the respective levels the variance /// and root variance values. /// </summary> /// <remarks> /// </remarks> /// <include file="..\CHM_Help\IncludeComments.xml" path="Comments/pixQuadtreeVariance/*"/> /// <param name="pixs">[in] - 8 bpp, no colormap</param> /// <param name="nlevels">[in] - in quadtree</param> /// <param name="pix_ma">[in] - input mean accumulator can be null</param> /// <param name="dpix_msa">[in] - input mean square accumulator can be null</param> /// <param name="pfpixa_v">[out][optional] - variance values in quadtree</param> /// <param name="pfpixa_rv">[out][optional] - root variance values in quadtree</param> /// <returns>0 if OK, 1 on error</returns> public static int pixQuadtreeVariance( Pix pixs, int nlevels, Pix pix_ma, DPix dpix_msa, out FPixa pfpixa_v, out FPixa pfpixa_rv) { if (pixs == null) { throw new ArgumentNullException("pixs cannot be Nothing"); } if (pix_ma == null) { throw new ArgumentNullException("pix_ma cannot be Nothing"); } if (dpix_msa == null) { throw new ArgumentNullException("dpix_msa cannot be Nothing"); } IntPtr pfpixa_vPtr = IntPtr.Zero; IntPtr pfpixa_rvPtr = IntPtr.Zero; int _Result = Natives.pixQuadtreeVariance(pixs.Pointer, nlevels, pix_ma.Pointer, dpix_msa.Pointer, out pfpixa_vPtr, out pfpixa_rvPtr); if (pfpixa_vPtr == IntPtr.Zero) { pfpixa_v = null; } else { pfpixa_v = new FPixa(pfpixa_vPtr); }; if (pfpixa_rvPtr == IntPtr.Zero) { pfpixa_rv = null; } else { pfpixa_rv = new FPixa(pfpixa_rvPtr); }; return(_Result); }
// quadtree.c (341, 1) // pixVarianceInRectangle(pixs, box, pix_ma, dpix_msa, pvar, prvar) as int // pixVarianceInRectangle(PIX *, BOX *, PIX *, DPIX *, l_float32 *, l_float32 *) as l_ok /// <summary> /// (1) This function is intended to be used for many rectangles /// on the same image. It can find the variance and/or the /// square root of the variance within a rectangle in O(1), /// independent of the size of the rectangle. /// </summary> /// <remarks> /// </remarks> /// <include file="..\CHM_Help\IncludeComments.xml" path="Comments/pixVarianceInRectangle/*"/> /// <param name="pixs">[in] - 8 bpp</param> /// <param name="box">[in] - region to compute variance and/or root variance</param> /// <param name="pix_ma">[in] - mean accumulator</param> /// <param name="dpix_msa">[in] - mean square accumulator</param> /// <param name="pvar">[out][optional] - variance</param> /// <param name="prvar">[out][optional] - root variance</param> /// <returns>0 if OK, 1 on error</returns> public static int pixVarianceInRectangle( Pix pixs, Box box, Pix pix_ma, DPix dpix_msa, out Single pvar, out Single prvar) { if (pixs == null) { throw new ArgumentNullException("pixs cannot be Nothing"); } if (box == null) { throw new ArgumentNullException("box cannot be Nothing"); } if (pix_ma == null) { throw new ArgumentNullException("pix_ma cannot be Nothing"); } if (dpix_msa == null) { throw new ArgumentNullException("dpix_msa cannot be Nothing"); } if ((new List <int> { 8 }).Contains((int)pixs.d) == false) { throw new ArgumentException("8 bpp"); } int _Result = Natives.pixVarianceInRectangle(pixs.Pointer, box.Pointer, pix_ma.Pointer, dpix_msa.Pointer, out pvar, out prvar); return(_Result); }