public OcrResult Detect(string img, int padding, int maxSideLen, float boxScoreThresh, float boxThresh, float unClipRatio, bool doAngle, bool mostAngle) { Mat originSrc = CvInvoke.Imread(img, ImreadModes.Color);//default : BGR int originMaxSide = Math.Max(originSrc.Cols, originSrc.Rows); int resize; if (maxSideLen <= 0 || maxSideLen > originMaxSide) { resize = originMaxSide; } else { resize = maxSideLen; } resize += 2 * padding; Rectangle paddingRect = new Rectangle(padding, padding, originSrc.Cols, originSrc.Rows); Mat paddingSrc = OcrUtils.MakePadding(originSrc, padding); ScaleParam scale = ScaleParam.GetScaleParam(paddingSrc, resize); return(DetectOnce(paddingSrc, paddingRect, scale, boxScoreThresh, boxThresh, unClipRatio, doAngle, mostAngle)); }
public OcrResult Detect(string img, int padding, int imgResize, float boxScoreThresh, float boxThresh, float unClipRatio, bool doAngle, bool mostAngle) { Mat brgSrc = CvInvoke.Imread(img, ImreadModes.Color);//default : BGR Mat originSrc = new Mat(); CvInvoke.CvtColor(brgSrc, originSrc, ColorConversion.Bgr2Rgb);// convert to RGB Rectangle originRect = new Rectangle(padding, padding, originSrc.Cols, originSrc.Rows); Mat paddingSrc = OcrUtils.MakePadding(originSrc, padding); int resize; if (imgResize <= 0) { resize = Math.Max(paddingSrc.Cols, paddingSrc.Rows); } else { resize = imgResize; } ScaleParam scale = ScaleParam.GetScaleParam(paddingSrc, resize); return(DetectOnce(paddingSrc, originRect, scale, boxScoreThresh, boxThresh, unClipRatio, doAngle, mostAngle)); }