SetSegmentData Method

Summary

Updates the specified segment.

Syntax
C#
VB
C++
public void SetSegmentData( 
   RasterImage image, 
   int id, 
   MrcSegmentData data 
) 
  
Public Sub SetSegmentData( _ 
   ByVal image As RasterImage, _ 
   ByVal id As Integer, _ 
   ByVal data As MrcSegmentData _ 
)  
public: 
void SetSegmentData(  
   RasterImage^ image, 
   int id, 
   MrcSegmentData data 
)  

Parameters

image
The image that will be segmented.

id
ID of the segment to be updated.

data
Instance of the structure that contains the new segment information.

Remarks

This method is used to update the segment information. In the auto segmentation mode, the LEADTOOLS engine will update the segments using the new segment data passed to this method. This process may create or delete segments. The method will update the segments so they remain within the image width and height. In the manual segmentation mode, the user is free to update the segments. The LEAD engine will not delete or create segments. If an error occurs, the data parameter will be updated with the target segment. To get segment IDs and segment information, the user can enumerate all segments using the EnumerateSegments method. The method will return an error if the updated segment exceeds its image boundaries. For more information, refer to Programming with LEADTOOLS MRC.

Example
C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Mrc; 
 
private bool MrcEnumerateSegmentInfoSetSegmentDataCallback(MrcSegmenter segmentHandle, MrcSegmentData data, int iD) 
{ 
   if (iD == 0) 
   { 
      MrcSegmentData newData = data; 
      newData.ImageSegment = new LeadRect(0, 0, 60, 60); 
      newData.SegmentType = MrcSegmentType.Picture; 
      //segmenter.SetSegmentData(segmentedImage, iD, newData); 
   } 
   return true; 
} 
 
public void SetSegmentDataExample() 
{ 
   // Load an image 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.ThrowExceptionsOnInvalidImages = true; 
 
   RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "PDFSegmentation.pdf")); 
 
   MrcSegmenter segmenter = new MrcSegmenter(image, RasterColor.FromKnownColor(RasterKnownColor.White), RasterColor.FromKnownColor(RasterKnownColor.Black)); 
 
   segmenter.SegmentImage(image, MrcSegmentImageOptions.Empty); 
 
   MrcEnumerateSegmentsInfo setSegmentCallBack = new MrcEnumerateSegmentsInfo(MrcEnumerateSegmentInfoSetSegmentDataCallback); 
   segmenter.EnumerateSegments(setSegmentCallBack); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Mrc 
 
Private segmentedImage As RasterImage 
Private Function MrcEnumerateSegmentInfoSetSegmentDataCallback(ByVal segmentHandle As MrcSegmenter, ByVal data As MrcSegmentData, ByVal iD As Integer) As Boolean 
   If iD = 0 Then 
      Dim newData As MrcSegmentData = data 
      newData.ImageSegment = New LeadRect(0, 0, 60, 60) 
      newData.SegmentType = MrcSegmentType.Picture 
      'segmenter.SetSegmentData(segmentedImage, iD, newData); 
   End If 
   Return True 
End Function 
 
Public Sub SetSegmentDataExample() 
   ' 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 segmenter As MrcSegmenter = New MrcSegmenter(image, RasterColor.FromKnownColor(RasterKnownColor.White), RasterColor.FromKnownColor(RasterKnownColor.Black)) 
   segmenter.SegmentImage(image, MrcSegmentImageOptions.Empty) 
 
   Dim setSegmentCallBack As MrcEnumerateSegmentsInfo = New MrcEnumerateSegmentsInfo(AddressOf MrcEnumerateSegmentInfoSetSegmentDataCallback) 
   segmenter.EnumerateSegments(setSegmentCallBack) 
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