For more information, refer to Programming with LEADTOOLS MRC.
using Leadtools;using Leadtools.Codecs;using Leadtools.Mrc;private MrcSegmenter MrcListSegmentation(RasterImage image){MrcSegmentImageOptions segmentImageOptions = MrcSegmentImageOptions.Empty;segmentImageOptions.CleanSize = 5;segmentImageOptions.SegmentQuality = 50;segmentImageOptions.ColorThreshold = 25;segmentImageOptions.BackgroundThreshold = 10;segmentImageOptions.CombineThreshold = 75;segmentImageOptions.Flags = MrcSegmentImageFlags.FavorOneBit | MrcSegmentImageFlags.SegmentWithBackground;RasterColor backColor = new RasterColor(255, 255, 255);RasterColor foreColor = new RasterColor(0, 0, 0);MrcSegmenter mrcSegmenter = new MrcSegmenter(image, RasterColor.FromKnownColor(RasterKnownColor.White), RasterColor.FromKnownColor(RasterKnownColor.Black));mrcSegmenter.SegmentImage(image, segmentImageOptions);return mrcSegmenter;}public void SaveBitmapListExample(){// Load an imageRasterCodecs codecs = new RasterCodecs();codecs.ThrowExceptionsOnInvalidImages = true;RasterImage image1 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.mrc"));// Load an imageRasterImage image2 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.mrc"));MrcSegmenter segmenter1 = MrcListSegmentation(image1);MrcSegmenter segmenter2 = MrcListSegmentation(image2);MrcSegmenter segmenter3 = (MrcSegmenter)segmenter2.Clone();List<MrcSegmenter> segmenterList = new List<MrcSegmenter>();segmenterList.Add(segmenter1);segmenterList.Add(segmenter2);segmenterList.Add(segmenter3);MrcSegmenter[] segmenterArray = new MrcSegmenter[3];segmenterList.CopyTo(segmenterArray, 0);List<RasterImage> imageList = new List<RasterImage>();int index;for (index = 0; index < 3; index++){if (segmenterList.Contains(segmenterArray[index])){switch (segmenterList.IndexOf(segmenterArray[index])){case 0:imageList.Add(image1);break;case 1:imageList.Add(image2);break;case 2:// Remove the last segmenter from the segmenter array...segmenterList.Remove(segmenterArray[index]);break;}}}MrcCompressionOptions compressionOptions = new MrcCompressionOptions();compressionOptions.MaskCoder = MrcMaskCompression.FaxG31D;compressionOptions.PictureCoder = MrcPictureCompression.Jpeg;compressionOptions.PictureQualityFactor = 10;compressionOptions.Text2BitCoder = MrcTextCompression2BitCoder.Gif2Bit;compressionOptions.Grayscale2BitCoder = MrcGrayscaleCompression2BitCoder.Jbig2;compressionOptions.Grayscale8BitCoder = MrcGrayscaleCompression8BitCoder.GrayscaleCmw;compressionOptions.Grayscale8BitFactor = 2;// Save the two segmentersMrcSegmenter.SaveBitmapList(segmenterList, imageList, Path.Combine(LEAD_VARS.ImagesDir, "SaveBitmapListResult.mrc"), MrcImageListFormat.MrcTif, compressionOptions);}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
Clone Method