Herror ::do_ocr_single (
    Hobject Character,
    Hobject Image,
    const HTuple &OcrHandle,
    HTuple *Classes,
    HTuple *Confidences
)
HTuple HRegion::DoOcrSingle (
    const HImage &Image,
    const HTuple &OcrHandle,
    HTuple *Confidences
) const

Classification of a character.

The operator ::do_ocr_single assigns classes to the Character (characters). For grayvalue features grayvalues of the surrounding rectangles of the regions will be used. The grayvalues will be taken from the paramter Image. For each character the two classes with the highest confidencenses will be returned in Classes. The corresponding confidences will be returned in Confidences. The confidence value indicates the similarity between the input pattern and the assigned character.


Parameters

Character (input_object)
region -> Hobject: HRegion
Character to be recognized.

Image (input_object)
image -> Hobject: HImage
Grayvalues of the characters.

OcrHandle (input_control)
ocr -> HTuple.long
ID of the OCR classifier.

Classes (output_control)
string-array -> HTuple.char *
Classes (names) of the characters.
Number of elements: 2

Confidences (output_control)
real-array -> HTuple.double *
Confidence values of the characters.
Number of elements: 2


Example
HTuple  Classes,Confidences;
long    orc_handle;
HTuple  OcrHandle;

read_ocr("testnet",&orc_handle);
create_tuple(&OcrHandle,1);
set_i(OcrHandle,orc_handle,0);
read_image(&Image,"character.tiff");
bin_threshold(Image,&Dark);
connection(Dark,&Character);
count_obj(Character,&num);
open_window(0,0,-1,-1,0,"","",&WindowHandle);
for (i=0; i<num; i++) {
  select_obj(Character,&SingleCharacter,i);
  T_do_ocr_single(SingleCharacter,Image,
                  OcrHandle,&Classes,&Confidences);
  printf("best   = %s (%g)\n",
         get_s(Classes,0),get_d(Confidences,0));
  printf("second = %s (%g)\n\n",
         get_s(Classes,1),get_d(Confidences,1));
}

Result

If the input parameters are correct, the operator ::do_ocr_single returns the value H_MSG_TRUE. Otherwise an exception will be raised.


Possible Predecessors

::traind_ocr_class_box, ::trainf_ocr_class_box, ::read_ocr, ::connection, ::sort_region


Alternatives

::do_ocr_multi


See also

::write_ocr


Module

Optical character recognition



Copyright © 1996-2002 MVTec Software GmbH