Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexandre Carmo

OCR com C#

Recommended Posts

Boa tarde a todos

 

Estou precisando desenvolver uma aplicação que localiza texto e números em imagens, procurei na internet e achei duas bibliotecas que fazem esse recurso, a Tesseract e Neural, tentei reproduzir ambas mas não consegui com os tutoriais que encontrei, alguém teria algum documento para eu estudar ou exemplo para eu testar? Fora isso gostaria de saber se essas são as melhores ou existe alguma melhor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara, isso é meio complicado, porque esse tipo de biblioteca não é comum, então não existe praticamente nenhum tutorial ou documentação que aponte para isso no quesito de estudo ou coisa parecida... Sei que existe a do google, mas não sei se é liberada para uso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então existe os dois modelos que informei, estou tentando usar o modelo desse link:

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);
        }
    }
}

 

Você consegue entender onde estou errando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já mandei também com o messabox, o formulário simplesmente carrega e fecha, e não apresenta nenhum erro, ele me retorna apenas a informação abaixo:

 

 

'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_32\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Users\Alexandre.DEALS\Desktop\tmp\ocr\antigos\teste4\TesteOCR\TesteOCR\bin\Debug\TesteOCR.vshost.exe', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\mscorlib.resources\2.0.0.0_pt-BR_b77a5c561934e089\mscorlib.resources.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Deployment\2.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The thread 'vshost.NotifyLoad' (0x1ac8) has exited with code 0 (0x0).
The thread 'vshost.LoadReference' (0x634) has exited with code 0 (0x0).
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Users\Alexandre.DEALS\Desktop\tmp\ocr\antigos\teste4\TesteOCR\TesteOCR\bin\Debug\TesteOCR.exe', Symbols loaded.
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Users\Alexandre.DEALS\Desktop\tmp\ocr\antigos\teste4\TesteOCR\TesteOCR\bin\Debug\tessnet2_32.dll'
'TesteOCR.vshost.exe' (Managed (v2.0.50727)): Loaded 'C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcm90.dll'
The program '[6772] TesteOCR.vshost.exe: Managed (v2.0.50727)' has exited with code 1 (0x1).
The program '[6772] TesteOCR.vshost.exe: Program Trace' has exited with code 0 (0x0).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde

 

 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.