public Mat Translate(Mat imageSource, TranslationFactor translationFactor) { if (imageSource == null) { return(null); } if ((translationFactor.x == 0) && (translationFactor.y == 0)) { return(imageSource); } List <Point2f> src = new List <Point2f>() { new Point2f(0.0f, 0.0f), new Point2f(0.0f, imageSource.Height), new Point2f(imageSource.Width, imageSource.Height) }; List <Point2f> dst = new List <Point2f>() { new Point2f(translationFactor.x, translationFactor.y), new Point2f(translationFactor.x, imageSource.Height + translationFactor.y), new Point2f(imageSource.Width + translationFactor.x, imageSource.Height + translationFactor.y) }; Mat affineMatrix = Cv2.GetAffineTransform(src, dst); Mat translatedMatrix = new Mat(); Cv2.WarpAffine(imageSource, translatedMatrix, affineMatrix, new Size(imageSource.Width, imageSource.Height)); return(translatedMatrix); }
private void Initialize() { _brightness = 0; _contrast = 0; _meanBlur = 1; _gaussianBlur = new GaussianBlur(1, 1.0); _sharpening = 0; _medianFilterSize = 1; _bilateralFilter = new BilateralFilter(1, 1); _isSketchFilterOn = false; _isCartoonFilterOn = false; _translationFactor = new TranslationFactor(0, 0); _shearFactor = new ShearFactor(0, 0); _resizeFactor = new ResizeFactor(1, 1); }