do_ocr_singleT_do_ocr_singleDoOcrSingleDoOcrSingledo_ocr_single (算子名称)
名称
do_ocr_singleT_do_ocr_singleDoOcrSingleDoOcrSingledo_ocr_single — Classify one character.
警告
do_ocr_singledo_ocr_singleDoOcrSingleDoOcrSingleDoOcrSingledo_ocr_single is obsolete and is only provided for
reasons of backward compatibility. New applications should use the
MLP, SVM or CNN based operators instead.
参数签名
描述
该算子 do_ocr_singledo_ocr_singleDoOcrSingleDoOcrSingleDoOcrSingledo_ocr_single assigns classes to the
CharacterCharacterCharacterCharactercharactercharacter (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 ImageImageImageImageimageimage. For each character the two classes
with the highest confidences will be returned in
类别类别类别类别类别类别. The corresponding confidences will be
returned in ConfidencesConfidencesConfidencesConfidencesconfidencesconfidences. The confidence value indicates the
similarity between the input pattern and the assigned character.
运行信息
- 多线程类型:可重入(与非独占操作符并行运行)。
- 多线程作用域:全局(可以从任何线程调用)。
- 未经并行化处理。
参数表
CharacterCharacterCharacterCharactercharactercharacter (input_object) region → objectHRegionHObjectHRegionHobject
Character to be recognized.
ImageImageImageImageimageimage (input_object) singlechannelimage → objectHImageHObjectHImageHobject (byte / uint2)
Gray values of the characters.
OcrHandleOcrHandleOcrHandleOcrHandleocrHandleocr_handle (input_control) ocr_box → HOCRBox, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
ID of the OCR classifier.
类别类别类别类别类别类别 (output_control) string-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Classes (names) of the characters.
Number of elements:
2
ConfidencesConfidencesConfidencesConfidencesconfidencesconfidences (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Confidence values of the characters.
Number of elements:
2
例程 (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));
}
结果
If the input parameters are correct, 该算子
do_ocr_singledo_ocr_singleDoOcrSingleDoOcrSingleDoOcrSingledo_ocr_single 返回值 2 (
H_MSG_TRUE)
.
Otherwise an exception will be raised.
可能的前置算子
traind_ocr_class_boxtraind_ocr_class_boxTraindOcrClassBoxTraindOcrClassBoxTraindOcrClassBoxtraind_ocr_class_box,
trainf_ocr_class_boxtrainf_ocr_class_boxTrainfOcrClassBoxTrainfOcrClassBoxTrainfOcrClassBoxtrainf_ocr_class_box,
read_ocrread_ocrReadOcrReadOcrReadOcrread_ocr,
connectionconnectionConnectionConnectionConnectionconnection,
sort_regionsort_regionSortRegionSortRegionSortRegionsort_region
可替代算子
do_ocr_multido_ocr_multiDoOcrMultiDoOcrMultiDoOcrMultido_ocr_multi
参考其它
write_ocrwrite_ocrWriteOcrWriteOcrWriteOcrwrite_ocr
模块
OCR/OCV