GdPicture.NET.14
GdPicture14 Namespace / GdPictureSegmenter Class / RunSegmentation Method / RunSegmentation() Method
Example





In This Topic
RunSegmentation() Method
In This Topic
Runs the segmentation process on the image previously set by the SetImage method within the current GdPictureSegmenter object. The result of this process, identifiable by its unique ID, is internally attached to the current GdPictureSegmenter object as well.
Syntax
'Declaration
 
Public Overloads Function RunSegmentation() As String
public string RunSegmentation()
public function RunSegmentation(): String; 
public function RunSegmentation() : String;
public: string* RunSegmentation(); 
public:
String^ RunSegmentation(); 

Return Value

A unique result identifier of the executed segmentation process. The GetStat method can be subsequently used to determine if this method has been successful.
Remarks
It is recommend to use the GetStat method to identify the specific reason for the method's failure, if any.

Please ensure that you have set the required image before you start the new segmentation process. This method uses the image object previously set by SetImage method. Setting up an image is a mandatory step before running any segmentation process.

Just to inform you, that releasing already used segmentation results by the ReleaseSegmentationResults method can improve the memory management if you run more segmentation processes in a row.

Example
How to run the segmentation processon your image for the basic page layout segmentation.
Dim caption As String = "Example: RunSegmentation"
Using gdpictureSegmenter As GdPictureSegmenter = New GdPictureSegmenter()
    'Set up the image you want to process.
    Using gdpictureImaging As GdPictureImaging = New GdPictureImaging()
        'The standard open file dialog displays to allow you to select the file.
        Dim image As Integer = gdpictureImaging.CreateGdPictureImageFromFile("")
        If (gdpictureImaging.GetStat() = GdPictureStatus.OK) AndAlso
           (gdpictureSegmenter.SetImage(image) = GdPictureStatus.OK) Then
            'Set your preferred segmentation mode.
            gdpictureSegmenter.SegmentationMode = SegmentationMode.PageLayout
            'Run the segmentation process.
            Dim resultID As String = gdpictureSegmenter.RunSegmentation()
            If gdpictureSegmenter.GetStat() = GdPictureStatus.OK Then
                'Check the results ...
                Dim blockCount As Integer = gdpictureSegmenter.GetBlockCount(resultID)
                'Continue ...
            Else
                MessageBox.Show("The segmentation process has failed with the status: " + gdpictureSegmenter.GetStat().ToString(), caption)
            End If
            'Release the used image.
            gdpictureImaging.ReleaseGdPictureImage(image)
        Else
            MessageBox.Show("The error occurred when setting up the image: " + gdpictureImaging.GetStat().ToString() + " or " + gdpictureSegmenter.GetStat().ToString(), caption)
        End If
    End Using
    'Release resources.
    gdpictureSegmenter.ReleaseSegmentationResults()
End Using
string caption = "Example: RunSegmentation";
using (GdPictureSegmenter gdpictureSegmenter = new GdPictureSegmenter())
{
    //Set up the image you want to process.
    using (GdPictureImaging gdpictureImaging = new GdPictureImaging())
    {
        //The standard open file dialog displays to allow you to select the file.
        int image = gdpictureImaging.CreateGdPictureImageFromFile("");
        if ((gdpictureImaging.GetStat() == GdPictureStatus.OK) &&
            (gdpictureSegmenter.SetImage(image) == GdPictureStatus.OK))
        {
            //Set your preferred segmentation mode.
            gdpictureSegmenter.SegmentationMode = SegmentationMode.PageLayout;
 
            //Run the segmentation process.
            string resultID = gdpictureSegmenter.RunSegmentation();
            if (gdpictureSegmenter.GetStat() == GdPictureStatus.OK)
            {
                //Check the results ...
                int blockCount = gdpictureSegmenter.GetBlockCount(resultID);
                //Continue ...
            }
            else
            {
                MessageBox.Show("The segmentation process has failed with the status: " + gdpictureSegmenter.GetStat().ToString(), caption);
            }
            //Release the used image.
            gdpictureImaging.ReleaseGdPictureImage(image);
        }
        else
            MessageBox.Show("The error occurred when setting up the image: " + gdpictureImaging.GetStat().ToString() + " or " + gdpictureSegmenter.GetStat().ToString(), caption);
    }
    //Release resources.
    gdpictureSegmenter.ReleaseSegmentationResults();
}
See Also