示例#1
0
    public static void Main()
    {
        PersonalData personalData = new PersonalData(); // creates instance of PersonalData to save result
        OcrReader OcrClient = new OcrReader("appka_testowa","9hWxj/lQvS/TdU193saHrhLG");//sets username && password
        byte[] data = File.ReadAllBytes("./dow_osob_rewers.gif");//image of document

        var postImageTask = OcrClient.PostImage(data); //uploads image
        string id = postImageTask.Result; //id of request, waiting for finishing PostImageTask

        var getOcrTask = OcrClient.GetOcr(id,2); //gets url with ocr data from passed id, 2 trials
        var result = getOcrTask.Result; // resulted URL , waiting for finishing getOCrTask
        personalData = OcrClient.GetPersonalData(result.Url); // reads data from URL

        Console.WriteLine(personalData.Name + " " + personalData.Surname + " " + personalData.BirthDate);
        Console.Read();
    }
示例#2
0
        private async Task TakePhotoCommandHandler()
        {
            try
            {
                await CrossMedia.Current.Initialize();

                if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported)
                {
                    await _pageDialogService.DisplayAlertAsync("No Camera", ":( No camera available.", "OK");

                    return;
                }

                var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
                {
                    Directory = "Sample",
                    Name      = "test.jpg"
                });

                if (file == null)
                {
                    return;
                }

                var stream = DependencyService.Get <IDeviceInfoService>().GetFileStream(file);

                var card = await OcrReader.ReadBusinessCard(stream);

                var parameters = new NavigationParameters
                {
                    { "CardDetails", card }
                };
                await _navigationService.NavigateAsync("DetailPage", parameters);
            }
            catch (Exception e)
            {
                await _pageDialogService.DisplayAlertAsync("Error", e.Message, "Cancel");
            }
        }
        /// <summary>
        /// 切り抜きボタンを押下し、結果を表示する。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TryCropButton_Click(object sender, EventArgs e)
        {
            // Initialize result text box
            CropResultTextBox.Text             = string.Empty;
            CropResultPictureBox.ImageLocation = null;

            // Try to crop file
            switch (SelectOcrSettingListBox.SelectedIndex)
            {
            case LIST_INDEX_OCR_TITLE:
                // Title
                CropResultTextBox.Text = OcrReader.ReadFromImageFileJapaneseLang(
                    setting.pathImageMagickConvertExe,
                    setting.pathTesseractExe,
                    workImageFilePath,
                    SUFFIX_CROPNAME_TEST,
                    CreateCropString());
                break;

            case LIST_INDEX_OCR_DIFFICULT:
                //Difficult
                CropResultTextBox.Text = OcrReader.ReadFromImageFile(
                    setting.pathImageMagickConvertExe,
                    setting.pathTesseractExe,
                    workImageFilePath,
                    SUFFIX_CROPNAME_TEST,
                    CreateCropString());
                break;

            case LIST_INDEX_OCR_MAX_COMBO:
                // Max Combo
                CropResultTextBox.Text = OcrReader.ReadFromImageFileOnlyNumber(
                    setting.pathImageMagickConvertExe,
                    setting.pathTesseractExe,
                    workImageFilePath,
                    SUFFIX_CROPNAME_TEST,
                    CreateCropString());
                break;

            case LIST_INDEX_OCR_RESULT_NOTES:
                // Result notes
                CropResultTextBox.Text = OcrReader.ReadFromImageFileOnlyNumber(
                    setting.pathImageMagickConvertExe,
                    setting.pathTesseractExe,
                    workImageFilePath,
                    SUFFIX_CROPNAME_TEST,
                    CreateCropString());
                break;

            case LIST_INDEX_OCR_LEVEL:
                // Level
                CropResultTextBox.Text = OcrReader.ReadFromImageFileOnlyNumber(
                    setting.pathImageMagickConvertExe,
                    setting.pathTesseractExe,
                    workImageFilePath,
                    SUFFIX_CROPNAME_TEST,
                    CreateCropString());
                break;

            case LIST_INDEX_OCR_SCORE:
                // Score
                CropResultTextBox.Text = OcrReader.ReadFromImageFileOnlyNumber(
                    setting.pathImageMagickConvertExe,
                    setting.pathTesseractExe,
                    workImageFilePath,
                    SUFFIX_CROPNAME_TEST,
                    CreateCropString());
                break;

            default:
                // Default
                break;
            }
            // Change line separater
            CropResultTextBox.Text = CropResultTextBox.Text.Replace("\n", Environment.NewLine);
            // Attach to picture box
            CropResultPictureBox.ImageLocation = OcrReader.CreateImageMagickOutputFilePath(workImageFilePath, SUFFIX_CROPNAME_TEST);
        }