do_ocr_singleT_do_ocr_singleDoOcrSingleDoOcrSingle (Operator)
Name
do_ocr_singleT_do_ocr_singleDoOcrSingleDoOcrSingle
— Classify one character.
Warning
do_ocr_singledo_ocr_singleDoOcrSingleDoOcrSingleDoOcrSingle
is obsolete and is only provided for
reasons of backward compatibility. New applications should use the
MLP, SVM or CNN based operators instead.
Signature
Description
The operator do_ocr_singledo_ocr_singleDoOcrSingleDoOcrSingleDoOcrSingle
assigns classes to the
CharacterCharacterCharacterCharactercharacter
(characters).
For gray value features gray values of the surrounding rectangles of the
regions will be used. The gray values will be taken from the
parameter ImageImageImageImageimage
. For each character the two classes
with the highest confidencenses will be returned in
ClassesClassesClassesClassesclasses
. The corresponding confidences will be
returned in ConfidencesConfidencesConfidencesConfidencesconfidences
. The confidence value indicates the
similarity between the input pattern and the assigned character.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
CharacterCharacterCharacterCharactercharacter
(input_object) region →
objectHRegionHRegionHobject
Character to be recognized.
ImageImageImageImageimage
(input_object) singlechannelimage →
objectHImageHImageHobject (byte / uint2)
Gray values of the characters.
OcrHandleOcrHandleOcrHandleOcrHandleocrHandle
(input_control) ocr_box →
HOCRBox, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
ID of the OCR classifier.
ClassesClassesClassesClassesclasses
(output_control) string-array →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Classes (names) of the characters.
Number of elements: 2
ConfidencesConfidencesConfidencesConfidencesconfidences
(output_control) real-array →
HTupleHTupleHtuple (real) (double) (double) (double)
Confidence values of the characters.
Number of elements: 2
Example (C)
HTuple Classes,Confidences;
Hlong orc_handle;
HTuple OcrHandle;
read_ocr("testnet",&orc_handle);
create_tuple(&OcrHandle,1);
set_i(OcrHandle,orc_handle,0);
read_image(&Image,"character.tiff");
binary_threshold(Image,&Dark, 'otsu', 'dark', &UsedThreshold);
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_singledo_ocr_singleDoOcrSingleDoOcrSingleDoOcrSingle
returns the value 2 (H_MSG_TRUE).
Otherwise an exception will be raised.
Possible Predecessors
traind_ocr_class_boxtraind_ocr_class_boxTraindOcrClassBoxTraindOcrClassBoxTraindOcrClassBox
,
trainf_ocr_class_boxtrainf_ocr_class_boxTrainfOcrClassBoxTrainfOcrClassBoxTrainfOcrClassBox
,
read_ocrread_ocrReadOcrReadOcrReadOcr
,
connectionconnectionConnectionConnectionConnection
,
sort_regionsort_regionSortRegionSortRegionSortRegion
Alternatives
do_ocr_multido_ocr_multiDoOcrMultiDoOcrMultiDoOcrMulti
See also
write_ocrwrite_ocrWriteOcrWriteOcrWriteOcr
Module
OCR/OCV