none
Testando tesseract com c# RRS feed

  • Pergunta

  • Boa tarde

    Estou tentando usar a biblioteca do tesseract para C#, estou usando o link abaixo que tem para exemplo mas não esta funcionando, o link é esse:

    http://www.pixel-technology.com/freeware/tessnet2/

    O meu código segue abaixo, segui todos os passos, baixei a dll(estou usando windows 32 então baixei a x86) adicionei na referência, depois criei a pasta na unidade c: conforme o exemplo adicionei os dados de definição "fra" na pasta temp, mas quando mando executar, simplesmente ele não faz nada, não apresenta erro ou algo do tipo, usei até a imagem exata que eles estão usando.

    Alguém conhece essa biblioteca, sabe como usar ou tem algum exemplo de como usar? 

    Esse é meu código identico ao exemplo:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    //using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace TesteOCR
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                Bitmap image = new Bitmap("eurotext.tif");
                tessnet2.Tesseract ocr = new tessnet2.Tesseract();
                ocr.SetVariable("tessedit_char_whitelist", "0123456789"); // If digit only
                ocr.Init(@"c:\temp", "fra", false); // To use correct tessdata
                List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);
                foreach (tessnet2.Word word in result)
                    Console.WriteLine("{0} : {1}", word.Confidence, word.Text);
            }
        }
    }
    

    terça-feira, 5 de março de 2013 18:43

Todas as Respostas

  • E ae tuco, blz cara?

    Não é porque você esta tentando usar Console.WriteLine() em um form?

    Você tentou usar

    MessageBox.Show(word.Confidence);
    Colocou um breakpoint no foreach para ver se está trazendo informação?


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCPD

    quinta-feira, 7 de março de 2013 00:12
  • Então cara o
    MessageBox.Show(word.Confidence);

    Não funciona também, coloquei o break sim, o que notei é que ele começa a carregar o form e já fecha em seguida, por isso não executa nada, testei linha a linha e a última linha que ele executa é essa:

    ocr.Init(@"c:\temp", "fra", false); // To use correct tessdata

    depois o form fecha, será que erro esta nela?

    Porque o sistema não chega nem a executar a linha seguinte:

     List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);

    quinta-feira, 7 de março de 2013 20:35
  • Bom dia tucão...

    Cara, deve estar acontecendo algum erro, coloca esse código dentro de um try catch para pegar a exception...


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCPD

    sexta-feira, 8 de março de 2013 11:27
  • Boa tarde Janderson

    Velho testei usando try catch e por deu no mesmo ele fecha e não me retorna nada.

    Peguei um tutorial mais completo, fiz os testes e apresentou o mesmo error, velho se tiver como você dar uma força coloquei o código de exemplo que fiz no link abaixo, é pequeno se tiver como você olhar e ver onde posso estar errando e me explicar os erros fico grato, fiquei horas ontem e hoje procurando os erros e não consigo achar.

    Coloquei dois arquivos .rar um é o projeto(TesteOCR.rar) você pode extrair ele onde quiser o o outro são as bibliotecas(tessdata.rar) do tesseract, extraí ela em uma pasta chamada temp na c: depois de extraída tem que ficar: c:\temp\tessdata, dentro da tessdata vai ficar os arquivos.

    Se puder me ajudar fico grato, segue o link:

    swsecurity.com.br/tmp/TesteOCR.rar

    swsecurity.com.br/tmp/tessdata.rar

    domingo, 10 de março de 2013 17:36
  • Essa é fácil.

    O fra é referente ao idioma francês assim como por para português e eng para inglês.

    Você precisa baixar o "language pack" que quiser usar. O link ENG aponta para o arquivo em inglês. Você faz o download e salva a pasta tessdata dentro da sua pasta debug e altera de fra para eng no código.

    Done!

    quinta-feira, 8 de agosto de 2013 21:37
  • oi eu também estava com esse problema, ele para na linha do ocr.init porque voce esta provavelmente usando uma linguagem 3. alguma coisa tente usar a linguagem compativel com seu tessnet  ex tessnet 2.0 linguagem 2.0 no site se voce perceber existem mais linguagens para serem baixadas e a portugues do brasil tem a 2.0 também
    segunda-feira, 24 de fevereiro de 2014 01:48