CombineSegments Method

Summary

Combines two segments.

Syntax
C#
VB
C++
public void CombineSegments( 
   int id1, 
   int id2, 
   MrcCombineSegmentFlags flags, 
   int factor 
) 
  
Public Sub CombineSegments( _ 
   ByVal id1 As Integer, _ 
   ByVal id2 As Integer, _ 
   ByVal flags As MrcCombineSegmentFlags, _ 
   ByVal factor As Integer _ 
)  
public: 
void CombineSegments(  
   int id1, 
   int id2, 
   MrcCombineSegmentFlags flags, 
   int factor 
)  

Parameters

id1
ID of the first segment to be combined.

id2
ID of the second segment to be combined.

flags
Flag that indicates how segments will be combined. For the MrcCombineSegmentFlags.ForeSimilar value, the following types are considered similar and could therefore be combined: OneColor, Background, Text1BitBw, Text2BitBw, Text1BitColor, Text2BitColor, Grayscale2Bit. These types are considered similar and therefore could be combined: Grayscale2Bit, Grayscale8Bit. These types are considered similar and therefore could be combined: Grayscale8Bit, Picture. refer to MrcCombineSegmentFlags

factor
A percentage value that represents the acceptable difference between the two segments being combined. This is valid only when flags is set to TryFactor. Possible values are between 0 and 100. A value of 0 indicates that only segments that are an exact match can be combined. A value of 100 indicates that any two segments of the same type can be combined. Large values cause very different segments to be joined, which causes considerable quality loss.

Remarks

This method is used to combine two specific segments from the segmentation handle. The two segments must be in the same row or column to be combined. This method can be used when performing automatic or manual segmentation. For more information, refer to Programming with LEADTOOLS MRC.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Mrc; 
 
public void CombineSegmentsExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.mrc")); 
 
   MrcSegmenter segmenter = new MrcSegmenter(image, Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.sgm")); 
 
   segmenter.CombineSegments(0, 1, MrcCombineSegmentFlags.CombineForce, 20); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Mrc 
 
Public Sub CombineSegmentsExample() 
   ' Load an image 
   Dim codecs As RasterCodecs = New RasterCodecs() 
   codecs.ThrowExceptionsOnInvalidImages = True 
 
   Dim image As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.mrc")) 
 
   Dim segmenter As MrcSegmenter = New MrcSegmenter(image, Path.Combine(LEAD_VARS.ImagesDir, "MRCSegmentation.sgm")) 
 
   segmenter.CombineSegments(0, 1, MrcCombineSegmentFlags.CombineForce, 20) 
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