/// <summary> /// 帳票認識する /// </summary> /// <param name="dicFileName"></param> /// <returns></returns> private int IdentifyFormBySDK(Image imgBinarization, string dicFileName) { int certainty = 0; // 定型帳票処理SDKコンポーネントのインスタンス取得 IFormSDKComponent formSdk = FormSDKInterface.FormSDKFactory.GetFormSDK(); // 辞書名配列の生成(要素1つだけ) List <String> dictNameList = new List <String>(); dictNameList.Add(dicFileName); // 定型帳票処理パラメーターの設定 FormSDKInterface.FormSDKParam param = new FormSDKInterface.FormSDKParam { identify_mode = FormSDKInterface.FormSDKIdentifyMode.FORM_IDENT_FINE, rotate_mode = FormSDKInterface.FormSDKRotateMode.FORM_ROTATE_OFF, th_ident = FormSDKInterface.FormSDKDefinition.FORM_TH_IDENT, }; // 確信度の算出 FormSDKInterface.FormSDKIdentResult result = formSdk.IdentifyFormFromFile(imgBinarization, param, dictNameList); // 結果へ格納 certainty = result.certainty; return(certainty); }
private List <TransArea> ExtractCharArea(Image TargetImage, string dicFileName) { IFormSDKComponent formSdk = FormSDKInterface.FormSDKFactory.GetFormSDK(); // 定型帳票辞書のロード FormSDKFormDict formDict = formSdk.LoadDict(dicFileName); // 定型帳票処理データの設定 FormSDKDict dict = new FormSDKDict(); dict.AddDict(formDict); // 定型帳票処理パラメーターの設定 FormSDKParam param = new FormSDKParam() { identify_mode = FormSDKIdentifyMode.FORM_IDENT_FINE, rotate_mode = FormSDKRotateMode.FORM_ROTATE_OFF, th_ident = FormSDKDefinition.FORM_TH_IDENT, }; // 認識対象領域情報データの設定(テンプレート項目設計より) List <FormSDKMasterInfo> masterInfoList = new List <FormSDKMasterInfo>(); foreach (var v in this.picOrg.Frames.Items) { FormSDKArea area = new FormSDKArea() { xs = (short)v.StartPoint.X, ys = (short)v.StartPoint.Y, xe = (short)v.EndPoint.X, ye = (short)v.EndPoint.Y, }; FormSDKMasterInfo masterInfo = new FormSDKMasterInfo() { master_area = area, area_type = FormSDKAreaType.FORM_AT_SOLID, removal_mode = FormSDKRemovalMode.FORM_RM_OFF, }; masterInfoList.Add(masterInfo); } // 帳票に対する認識対象文字領域の抽出処理 counter.Start(); var result = formSdk.ExtractCharArea(TargetImage, param, dict, masterInfoList); counter.End(); List <FormSDKResult> resultList = result.resultList; this.picOrg.Image = result.eraseRuledLineImg; List <TransArea> transAreas = new List <TransArea>(); transAreas.AddRange(resultList.Select(x => ConvertToTransArea(x))); return(transAreas); }
private FormSDKRectCrossInfo GetRectCrossInfo(string dicPath, IFormSDKComponent formSDK) { return(formSDK.GetRectCrossInfoFromFile(dicPath)); }