Leadtools.Mrc Namespace > MrcSegmenter Class : SaveBitmapList Method |
public static void SaveBitmapList( List<MrcSegmenter> segmenters, List<RasterImage> images, string fileName, MrcImageListFormat format, MrcCompressionOptions options )
'Declaration Public Shared Sub SaveBitmapList( _ ByVal segmenters As List(Of MrcSegmenter), _ ByVal images As List(Of RasterImage), _ ByVal fileName As String, _ ByVal format As MrcImageListFormat, _ ByVal options As MrcCompressionOptions _ )
'Usage Dim segmenters As List(Of MrcSegmenter) Dim images As List(Of RasterImage) Dim fileName As String Dim format As MrcImageListFormat Dim options As MrcCompressionOptions MrcSegmenter.SaveBitmapList(segmenters, images, fileName, format, options)
public static void SaveBitmapList( List<MrcSegmenter> segmenters, List<RasterImage> images, string fileName, MrcImageListFormat format, MrcCompressionOptions options )
function Leadtools.Mrc.MrcSegmenter.SaveBitmapList( segmenters , images , fileName , format , options )
public: static void SaveBitmapList( List<MrcSegmenter^>^ segmenters, List<RasterImage^>^ images, String^ fileName, MrcImageListFormat format, MrcCompressionOptions options )
Private Function MrcListSegmentation(ByVal image As RasterImage) As MrcSegmenter Dim segmentImageOptions As MrcSegmentImageOptions = MrcSegmentImageOptions.Empty segmentImageOptions.CleanSize = 5 segmentImageOptions.SegmentQuality = 50 segmentImageOptions.ColorThreshold = 25 segmentImageOptions.BackgroundThreshold = 10 segmentImageOptions.CombineThreshold = 75 segmentImageOptions.Flags = MrcSegmentImageFlags.FavorOneBit Or MrcSegmentImageFlags.SegmentWithBackground Dim backColor As RasterColor = New RasterColor(255, 255, 255) Dim foreColor As RasterColor = New RasterColor(0, 0, 0) Dim mrcSegmenter As MrcSegmenter = New MrcSegmenter(image, RasterColor.FromKnownColor(RasterKnownColor.White), RasterColor.FromKnownColor(RasterKnownColor.Black)) mrcSegmenter.SegmentImage(image, segmentImageOptions) Return mrcSegmenter End Function Public Sub SaveBitmapListExample() ' Load an image Dim codecs As RasterCodecs = New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim image1 As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.mrc")) ' Load an image Dim image2 As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.mrc")) Dim segmenter1 As MrcSegmenter = MrcListSegmentation(image1) Dim segmenter2 As MrcSegmenter = MrcListSegmentation(image2) Dim segmenter3 As MrcSegmenter = CType(segmenter2.Clone(), MrcSegmenter) Dim segmenterList As List(Of MrcSegmenter) = New List(Of MrcSegmenter)() segmenterList.Add(segmenter1) segmenterList.Add(segmenter2) segmenterList.Add(segmenter3) Dim segmenterArray As MrcSegmenter() = New MrcSegmenter(2) {} segmenterList.CopyTo(segmenterArray, 0) Dim imageList As List(Of RasterImage) = New List(Of RasterImage)() Dim index As Integer For index = 0 To 2 If segmenterList.Contains(segmenterArray(index)) Then Select Case segmenterList.IndexOf(segmenterArray(index)) Case 0 imageList.Add(image1) Case 1 imageList.Add(image2) Case 2 ' Remove the last segmenter from the segmenter array... segmenterList.Remove(segmenterArray(index)) End Select End If Next index Dim compressionOptions As MrcCompressionOptions = 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 segmenters MrcSegmenter.SaveBitmapList(segmenterList, imageList, Path.Combine(LEAD_VARS.ImagesDir, "SaveBitmapListResult.mrc"), MrcImageListFormat.MrcTif, compressionOptions) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
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 image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image1 = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,"MRCSegmentation.mrc")); // Load an image RasterImage 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 segmenters MrcSegmenter.SaveBitmapList(segmenterList, imageList,Path.Combine(LEAD_VARS.ImagesDir,"SaveBitmapListResult.mrc"), MrcImageListFormat.MrcTif, compressionOptions); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2