private Bitmap processImgForScanning(Bitmap imgInput) { using (MemoryStream memstream = new MemoryStream()) { imgInput.Save(memstream, ImageFormat.Tiff); MagickImage img = new MagickImage(memstream.ToArray()); if (sharpen) { img.Sharpen((int)sharpenIntX.Value, (int)sharpenIntY.Value, Channels.All); } if (autoGamma) { img.AutoGamma(); } if (enhance) { img.Enhance(); } if (contrast) { img.Contrast(); } if (autoLevel) { img.AutoLevel(); } if (autoOrient) { img.AutoOrient(); } if (despeckle) { img.Despeckle(); } if (medianFilter) { img.MedianFilter((int)medianInt.Value); } if (unsharpmask) { img.Unsharpmask(6.8, 4, 4,0); } if (wtThreshold) { img.LinearStretch((float)0.9, 0.1); //img.WhiteThreshold((int)wtThresInt.Value); //img.ReduceNoise(); //img.Grayscale(PixelIntensityMethod.Brightness); } if (invert) { img.Negate(); } return img.ToBitmap(); } }
private static void ExecuteEnhance(MagickImage image) { image.Enhance(); }
public void Test_Enhance() { using (MagickImage enhanced = new MagickImage(Files.NoisePNG)) { enhanced.Enhance(); using (MagickImage original = new MagickImage(Files.NoisePNG)) { Assert.AreEqual(0.0115, enhanced.Compare(original, ErrorMetric.RootMeanSquared), 0.0003); } } }