Beispiel #1
0
        /// <summary>
        /// OCR終了処理
        /// </summary>
        /// <param name="env">OCR実行環境</param>
        public void ocrExecuteEnd()
        {
            OcrExecuteEnv env = this._env;

            if (env == null)
            {
                return;
            }

            IHocrSDKComponent hocrSdk = HocrSDKInterface.HocrSDKFactory.GetHocrSDK();
            IJocrSDKComponent jocrSdk = JocrSDKInterface.JocrSDKFactory.GetJocrSDK();

            // パターン辞書登録解除
            hocrSdk.CancelPatternDict(env.hocrLibHandle, env.hocrEnvHandle, env.hocrPatDictHandle);
            jocrSdk.CancelLangDict(env.jocrLibHandle, env.jocrEnvHandle, env.jocrLangDictHandle);
            jocrSdk.CancelPatternDict(env.jocrLibHandle, env.jocrEnvHandle, env.jocrPatDictHandle);

            // パターン辞書アンロード
            hocrSdk.UnloadPatternDict(env.hocrLibHandle, env.hocrPatDictHandle);
            jocrSdk.UnloadLangDict(env.jocrLibHandle, env.jocrLangDictHandle);
            jocrSdk.UnloadPatternDict(env.jocrLibHandle, env.jocrPatDictHandle);

            // 実行環境クローズ
            hocrSdk.CloseExecEnv(env.hocrLibHandle, env.hocrEnvHandle);
            jocrSdk.CloseExecEnv(env.jocrLibHandle, env.jocrEnvHandle);

            // ライブラリーの終了処理
            hocrSdk.End(env.hocrLibHandle);
            jocrSdk.End(env.jocrLibHandle);
        }
Beispiel #2
0
        /// <summary>
        /// OCR開始処理
        /// </summary>
        /// <returns>OCR実行環境</returns>
        public OcrExecuteEnv ocrExecuteBegin()
        {
            IHocrSDKComponent hocrSdk = HocrSDKInterface.HocrSDKFactory.GetHocrSDK();
            IJocrSDKComponent jocrSdk = JocrSDKInterface.JocrSDKFactory.GetJocrSDK();

            JocrSDKInterface.JocrSDKConfig config = new JocrSDKInterface.JocrSDKConfig();
            config.langDictTemplate[0]    = Config.GetJocrLangDictPath();
            config.patternDictTemplate[0] = Config.GetJocrPatternDictPath();
            config.langDictTemplate[1]    = config.langDictTemplate[2] = null;
            config.patternDictTemplate[1] = config.patternDictTemplate[2] = null;

            OcrExecuteEnv env = new OcrExecuteEnv();

            // ライブラリーの開始処理
            env.hocrLibHandle = hocrSdk.Begin();
            env.jocrLibHandle = jocrSdk.Begin(config);

            // 実行環境オープン
            env.hocrEnvHandle = hocrSdk.OpenExecEnv(env.hocrLibHandle, HocrSDKEnvType.OCR_HCR);
            env.jocrEnvHandle = jocrSdk.OpenExecEnv(env.jocrLibHandle, JocrSDKCrType.OCR_JCR);

            // 辞書ロード
            hocrSdk.LoadPatternDict(env.hocrLibHandle, Config.GetHocrPatternDictPath());
            jocrSdk.LoadPatternDict(env.jocrLibHandle, config.patternDictTemplate[0]);
            jocrSdk.LoadLangDict(env.jocrLibHandle, config.langDictTemplate[0]);

            // 辞書ハンドル取得と登録
            env.hocrPatDictHandle = hocrSdk.GetDictHandle(env.hocrLibHandle, Config.GetHocrPatternDictPath());
            hocrSdk.RegisterPatternDict(env.hocrLibHandle, env.hocrEnvHandle, env.hocrPatDictHandle);
            env.jocrPatDictHandle = jocrSdk.GetDictHandle(env.jocrLibHandle, config.patternDictTemplate[0]);
            jocrSdk.RegisterPatternDict(env.jocrLibHandle, env.jocrEnvHandle, env.jocrPatDictHandle);
            env.jocrLangDictHandle = jocrSdk.GetDictHandle(env.jocrLibHandle, config.langDictTemplate[0]);
            jocrSdk.RegisterLangDict(env.jocrLibHandle, env.jocrEnvHandle, env.jocrLangDictHandle);

            return(env);
        }