示例#1
0
 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();
 }
示例#2
0
 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();
 }
示例#3
0
 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();
 }