MrcSegmenter Class

Summary

MrcSegmenter represents the main class that contains all methods needed to perform a full segmentation process.

Syntax
C#
VB
C++
public class MrcSegmenter : IDisposable 
  
Public Class MrcSegmenter  
   Implements System.IDisposable  
public ref class MrcSegmenter : public System.IDisposable   

Remarks

This class is available in the Document/Medical Toolkits.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Mrc; 
 
private bool MrcEnumerateSegmentInfoCallback(MrcSegmenter segmentHandle, MrcSegmentData data, int iD) 
{ 
   if (iD == 0) 
   { 
      MessageBox.Show("Segment ID : " + iD.ToString()); 
      MessageBox.Show("Left : " + data.ImageSegment.Left.ToString() + 
         "\nTop : " + data.ImageSegment.Top.ToString() + 
         "\nRight : " + data.ImageSegment.Right.ToString() + 
         "\nBottom : " + data.ImageSegment.Bottom.ToString()); 
   } 
   return true; 
} 
 
public void MrcSegmenterExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "PDFSegmentation.pdf")); 
 
   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; 
 
   MrcSegmenter segmenter = new MrcSegmenter(image, RasterColor.FromKnownColor(RasterKnownColor.White), RasterColor.FromKnownColor(RasterKnownColor.Black)); 
   segmenter.SegmentImage(image, segmentImageOptions); 
 
   MrcEnumerateSegmentsInfo callBack = new MrcEnumerateSegmentsInfo(MrcEnumerateSegmentInfoCallback); 
   segmenter.EnumerateSegments(callBack); 
 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Mrc 
 
Private Function MrcEnumerateSegmentInfoCallback(ByVal segmentHandle As MrcSegmenter, ByVal data As MrcSegmentData, ByVal iD As Integer) As Boolean 
   Dim segmentRectangle As LeadRect = data.ImageSegment 
   If iD = 0 Then 
      MessageBox.Show("Segment ID : " & iD.ToString()) 
      MessageBox.Show("Left : " & segmentRectangle.Left.ToString() & Constants.vbLf & "Top : " & segmentRectangle.Top.ToString() & Constants.vbLf & "Right : " _ 
                      & segmentRectangle.Right.ToString() & Constants.vbLf & "Bottom : " & segmentRectangle.Bottom.ToString()) 
   End If 
   Return True 
End Function 
 
Public Sub MrcSegmenterExample() 
   ' Load an image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "PDFSegmentation.pdf")) 
 
   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 segmenter As MrcSegmenter = New MrcSegmenter(image, RasterColor.FromKnownColor(RasterKnownColor.White), RasterColor.FromKnownColor(RasterKnownColor.Black)) 
   segmenter.SegmentImage(image, segmentImageOptions) 
 
   Dim callBack As MrcEnumerateSegmentsInfo = New MrcEnumerateSegmentsInfo(AddressOf MrcEnumerateSegmentInfoCallback) 
   segmenter.EnumerateSegments(callBack) 
 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" 
End Class 

Requirements

Target Platforms

Help Version 20.0.2020.3.31
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Mrc Assembly