public ImageProcess(ImageIO sourceImage, int targetWidth, int targetHeight, Interpolation interpolation, double bicubicFactor = -0.5) { _imageParameter = new ImageParameter(sourceImage, null, sourceImage.Path, null); sourceImage.LockBits(); _processOption = new ProcessOption(Transform.None, interpolation); _distortionParameter = null; _warpParameter = null; _faceTransformation = null; _interpolationParameter = new InterpolationParameter(targetWidth, targetHeight, bicubicFactor); _processResult = new ProcessResult(this.InterpolationFunction(), null, null); sourceImage.UnlockBits(); }
public ImageProcess(ImageIO sourceImage, ImageIO faceImage, int targetWidth, int targetHeight, Interpolation interpolation, double bicubicFactor = -0.5) { _imageParameter = new ImageParameter(sourceImage, faceImage, sourceImage.Path, faceImage.Path); sourceImage.LockBits(); faceImage.LockBits(); _processOption = new ProcessOption(Transform.TPS, interpolation); _distortionParameter = null; _warpParameter = null; _faceTransformation = new FaceTransformation(this.ImageParameter.SourcePath, this.ImageParameter.FacePath); _interpolationParameter = new InterpolationParameter(targetWidth, targetHeight, bicubicFactor); _processResult = new ProcessResult(this.InterpolationFunction(), this.FaceTransformation.Source_marked, this.FaceTransformation.Face_marked); sourceImage.UnlockBits(); faceImage.UnlockBits(); }
public ImageProcess(ImageIO sourceImage, double warpFactor, int warpCenter_x, int warpCenter_y, int targetWidth, int targetHeight, Interpolation interpolation, double bicubicFactor = -0.5) { _stretch = false; _imageParameter = new ImageParameter(sourceImage, null, sourceImage.Path, null); sourceImage.LockBits(); _processOption = new ProcessOption(Transform.Warp, interpolation); _distortionParameter = null; _warpParameter = new WarpParameter(sourceImage.Width * sourceImage.Height, warpFactor, warpCenter_x, warpCenter_y); _faceTransformation = null; _interpolationParameter = new InterpolationParameter(targetWidth, targetHeight, bicubicFactor); _processResult = new ProcessResult(this.InterpolationFunction(), null, null); sourceImage.UnlockBits(); }