{
	"executor": {
		"executorType": "sequentialExecutor",
		"sequence": [ "start", "inputToCVMat", "inputToFloatArray", "perspectiveTransfrom", "cvtColor", "resizeLimitSizeForDirect", "crop", "paddingForDirect", "convertToForDirect", "CVMatToTensorForDirect", "inferForDirect", "OcrDirectRecPost", "rotatemat", "cvtColorty", "ocrRecognizePre", "resize", "convertTo", "CVMatToTensor", "infer", "ocrrecognizePost", "final" ],
		"dataStream": {
			"inputToCVMat": {
				"input": [ "srcImage" ],
				"output": [ "InputToCVMatOutputForCls", "InputToCVMatOutputForRec" ]
			},
			"inputToFloatArray": {
				"input": [ "boxCoordinates" ],
				"output": [ "InputToFloatArrayOutput" ]
			},
			"perspectiveTransfrom": {
				"input": [ "InputToFloatArrayOutput", "InputToCVMatOutputForCls" ],
				"output": [ "transfromOutput" ]
			},
			"cvtColor": {
				"input": [ "transfromOutput" ],
				"output": [ "cvtColorOutputForDirect" ]
			},
			"resizeLimitSizeForDirect": {
				"input": [ "cvtColorOutputForDirect" ],
				"output": [ "resizeOutputForDirect" ]
			},
			"crop": {
				"input": [ "resizeOutputForDirect" ],
				"output": [ "cropOutput" ]
			},
			"paddingForDirect": {
				"input": [ "cropOutput" ],
				"output": [ "paddingOutputForDirect" ]
			},
			"convertToForDirect": {
				"input": [ "paddingOutputForDirect" ],
				"output": [ "convertToOutputForDirect" ]
			},
			"CVMatToTensorForDirect": {
				"input": [ "convertToOutputForDirect" ],
				"output": [ "CVMatToTensorOutputForDirect" ]
			},
			"inferForDirect": {
				"input": [ "CVMatToTensorOutputForDirect" ],
				"output": [ "inferOutputForDirect" ]
			},
			"OcrDirectRecPost": {
				"input": [ "inferOutputForDirect" ],
				"output": [ "OcrDirectRecPostOutput", "rotateDegree" ]
			},
			"rotatemat": {
				"input": [ "rotateDegree", "InputToCVMatOutputForRec" ],
				"output": [ "rotatematOutput" ]
			},
			"cvtColorty": {
				"input": [ "rotatematOutput" ],
				"output": [ "cvtColortyOutput" ]
			},
			"ocrRecognizePre": {
				"input": [ "cvtColortyOutput", "boxCoordinates" ],
				"output": [ "ocrRecognizePreOutput" ]
			},
			"resize": {
				"input": [ "ocrRecognizePreOutput" ],
				"output": [ "resizeOutput" ]
			},

			"convertTo": {
				"input": [ "resizeOutput" ],
				"output": [ "convertTo1Output" ]
			},
			"CVMatToTensor": {
				"input": [ "convertTo1Output" ],
				"output": [ "CVMatToTensorOutput" ]
			},
			"infer": {
				"input": [ "CVMatToTensorOutput" ],
				"output": [ "inferOutput" ]
			},
			"ocrrecognizePost": {
				"input": [ "inferOutput", "OcrDirectRecPostOutput" ],
				"output": [ "output" ]
			}
		}
	},
	"node": {
		"start": {
			"nodeType": "StartNode"
		},
		"inputToCVMat": {
			"nodeType": "InputToCVMatNode",
			"releaseInputData": true
		},
		"inputToFloatArray": {
			"nodeType": "InputToFloatArrayNode"
		},
		"perspectiveTransfrom": {
			"nodeType": "PerspectiveTransformNode",
			"runtimePerspectiveMatrix": "tranformMatrix"
		},
		"cvtColor": {
			"nodeType": "CvtColorNode",
			"code": "RGB"
		},
		"resizeLimitSizeForDirect": {
			"nodeType": "ResizeLimitSizeNode",
			"width": -1,
			"height": 48,
			"equalProportion": true,
			"equalProportionScaleMode": 1,
			"scaleLimitSize":0
		},
		"crop": {
			"nodeType": "CropNode",
			"needPopData": true,
			"cropMode": 2,
			"sideParam":[0,0,192,48],
			"isIgnoreSmallImg": true
		},
		"paddingForDirect": {
			"nodeType": "PaddingNode",
			"width": 192,
			"height": 48,
			"borderType": 0,
			"makeBorderType": 1
		},
		"convertToForDirect": {
			"nodeType": "ConvertToNode",
			"rtype": 5,
			"alpha": 0.007843137254902,
			"beta": -1
		},
		"CVMatToTensorForDirect": {
			"nodeType": "CVMatToTensorNode",
			"elemsize": 4,
			"name": "serving_default_x:0",
			"layout": [ "n", "h", "w", "c" ]
		},
		"inferForDirect": {
			"nodeType": "InferenceNode",
			"backendType": 0,
			"precision": 0,
			"modelFileNames": [ "textbox_cls_v1.tflite" ]
		},
		"OcrDirectRecPost": {
			"nodeType": "OCRDirectRecPostNode"
		},		
		"rotatemat": {
			"nodeType": "RotateMatNode"
		},		
		"cvtColorty": {
			"nodeType": "CvtColorNode",
			"code": "GRAY"
			},
		"ocrRecognizePre": {
			"nodeType": "OCRRecognizePreNode"
		},
		"resize": {
			"nodeType": "ResizeNode",
			"width": -1,
			"height": 32,
			"equalProportion": true,
			"equalProportionScaleMode": 1
		},
		"convertTo": {
			"nodeType": "ConvertToNode",
			"rtype": 5,
			"alpha": 0.007843137254902,
			"beta": -1
		},
		"CVMatToTensor": {
			"nodeType": "CVMatToTensorNode",
			"elemsize": 4,
			"name": "serving_default_x:0",
			"layout": [ "n", "c", "h", "w" ]
		},
		"infer": {
			"nodeType": "InferenceNode",
			"backendType": 0,
			"precision": 0,
			"modelFileNames": [ "text_recognize_v1.tflite" ]
		},
		"ocrrecognizePost": {
			"nodeType": "OCRRecognizePostNode"
		},
		"final": {
			"nodeType": "FinalNode"
		}
	}
}