GdPicture.NET.14
GdPicture14 Namespace / GdPictureOCR Class / SetROI Method
The x-coordinate of the upper-left point of the region of interest, in pixels, measured from the upper-left corner of the image.
The y-coordinate of the upper-left point of the region of interest, in pixels, measured from the upper-left corner of the image.
The width of the region of interest, in pixels.
The height of the region of interest, in pixels.
Example





In This Topic
SetROI Method (GdPictureOCR)
In This Topic
Sets up the new region of interest (ROI) of an image, that is subsequently processed using the OCR. Only the specified region is included into the next OCR process.
Syntax
'Declaration
 
Public Function SetROI( _
   ByVal Left As Integer, _
   ByVal Top As Integer, _
   ByVal Width As Integer, _
   ByVal Height As Integer _
) As GdPictureStatus
public GdPictureStatus SetROI( 
   int Left,
   int Top,
   int Width,
   int Height
)
public function SetROI( 
    Left: Integer;
    Top: Integer;
    Width: Integer;
    Height: Integer
): GdPictureStatus; 
public function SetROI( 
   Left : int,
   Top : int,
   Width : int,
   Height : int
) : GdPictureStatus;
public: GdPictureStatus SetROI( 
   int Left,
   int Top,
   int Width,
   int Height
) 
public:
GdPictureStatus SetROI( 
   int Left,
   int Top,
   int Width,
   int Height
) 

Parameters

Left
The x-coordinate of the upper-left point of the region of interest, in pixels, measured from the upper-left corner of the image.
Top
The y-coordinate of the upper-left point of the region of interest, in pixels, measured from the upper-left corner of the image.
Width
The width of the region of interest, in pixels.
Height
The height of the region of interest, in pixels.

Return Value

A member of the GdPictureStatus enumeration. If the method has been successfully followed, then the return value is GdPictureStatus.OK.

We strongly recommend always checking this status first.

Remarks
The point, that represents the upper-left corner of the image, has the coordinates (0,0).
Example
How to set up different regions of interest for different OCR processes.
Dim caption As String = "Example: SetROI"
    Using gdpictureOCR As GdPictureOCR = New GdPictureOCR()
        'Set up your prefered parameters for OCR.
        gdpictureOCR.ResourcesFolder = "\GdPicture.Net 14\redist\OCR"
        If gdpictureOCR.AddLanguage(OCRLanguage.English) = GdPictureStatus.OK Then
            'Set up the image you want to process.
            Dim 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
               (gdpictureOCR.SetImage(image) = GdPictureStatus.OK) Then
 
                'Define the required ROI.
                gdpictureOCR.SetROI(100, 100, 200, 50)
                'Define the character set for phone numbers.
                gdpictureOCR.CharacterSet = "0123456789"
                'Run the OCR process.
                gdpictureOCR.RunOCR("PhoneNumberRegion")
                If gdpictureOCR.GetStat() <> GdPictureStatus.OK Then
                    MessageBox.Show("The OCR process has failed with the status: " + gdpictureOCR.GetStat().ToString(), caption)
                    Goto [Error]
                End If
 
                'Reset the required ROI.
                gdpictureOCR.SetROI(150, 300, 200, 200)
                'Define the character set for addresses.
                gdpictureOCR.CharacterSet = ""
                gdpictureOCR.Context = OCRContext.OCRContextSingleBlock
                'Run the OCR process.
                gdpictureOCR.RunOCR("AddressRegion")
                If gdpictureOCR.GetStat() <> GdPictureStatus.OK Then
                    MessageBox.Show("The OCR process has failed with the status: " & gdpictureOCR.GetStat().ToString(), caption)
                    Goto [Error]
                End If
 
                'Analyze your OCR results using the identifiers "PhoneNumberRegion" And "AddressRegion".
                'Continue ...
 
[error]:
                gdpictureImaging.ReleaseGdPictureImage(image)
            Else
                MessageBox.Show("The error occurred when setting up the image: " + gdpictureImaging.GetStat().ToString() + " or " + gdpictureOCR.GetStat().ToString(), caption)
            End If
            gdpictureImaging.Dispose()
        Else
            MessageBox.Show("The AddLanguage() method has failed with the status: " + gdpictureOCR.GetStat().ToString(), caption)
        End If
        gdpictureOCR.ReleaseOCRResults()
    End Using
string caption = "Example: SetROI";
using (GdPictureOCR gdpictureOCR = new GdPictureOCR())
{
    //Set up your prefered parameters for OCR.
    gdpictureOCR.ResourcesFolder = "\\GdPicture.Net 14\\redist\\OCR";
    if (gdpictureOCR.AddLanguage(OCRLanguage.English) == GdPictureStatus.OK)
    {
        //Set up the image you want to process.
        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) &&
            (gdpictureOCR.SetImage(image) == GdPictureStatus.OK))
        {
            //Define the required ROI.
            gdpictureOCR.SetROI(100, 100, 200, 50);
            //Define the character set for phone numbers.
            gdpictureOCR.CharacterSet = "0123456789";
 
            //Run the OCR process.
            gdpictureOCR.RunOCR("PhoneNumberRegion");
            if (gdpictureOCR.GetStat() != GdPictureStatus.OK)
            {
                MessageBox.Show("The OCR process has failed with the status: " + gdpictureOCR.GetStat().ToString(), caption);
                goto error;
            }
 
            //Reset the required ROI.
            gdpictureOCR.SetROI(150, 300, 200, 200);
            //Define the character set for addresses.
            gdpictureOCR.CharacterSet = "";
            gdpictureOCR.Context = OCRContext.OCRContextSingleBlock;
 
            //Run the OCR process.
            gdpictureOCR.RunOCR("AddressRegion");
            if (gdpictureOCR.GetStat() != GdPictureStatus.OK)
            {
                MessageBox.Show("The OCR process has failed with the status: " + gdpictureOCR.GetStat().ToString(), caption);
                goto error;
            }
 
            //Analyze your OCR results using the identifiers "PhoneNumberRegion" and "AddressRegion".
            //Continue ...
 
        error:
            //Release the used image.
            gdpictureImaging.ReleaseGdPictureImage(image);
        }
        else
            MessageBox.Show("The error occurred when setting up the image: " + gdpictureImaging.GetStat().ToString() + " or " + gdpictureOCR.GetStat().ToString(), caption);
        gdpictureImaging.Dispose();
    }
    else
        MessageBox.Show("The AddLanguage() method has failed with the status: " + gdpictureOCR.GetStat().ToString(), caption);
    gdpictureOCR.ReleaseOCRResults();
}
See Also