Introdução
Existem diversas ferramentas livre para Optical Character Recognition (OCR - Reconhecimento ótico de caracteres) como o gocr e o ocrad. Entretanto, eu ainda não tinha obtido uma eficiência tão boa até usar o Tesseract OCR.
O Tesseract OCR foi desenvolvido em um laboratórios da Hewlett-Packard entre 1985 e 1995. Em 1995 era um dos 3 melhores na competição de exatidão de OCR's organizada pela Universidade de Nevada em Las Vegas (UNLV). Entretanto, logo após isto, a HP decidiu sair do ramo de OCR e o Tesseract foi descontinuado. Felizmente a HP com a ajuda do Instituto de Pesquisas em Ciência da Informação da UNLV decidiu abrir o código fonte do Tesseract. Atualmente o Tesseract é mantido pela Google e já suporta vários idiomas, inclusive o português.
Instalação no Debian
Já existem pacotes nos repositórios do Debian para o Tesseract OCR e alguns idiomas, mas não consegui fazer com que eles funcionassem corretamente. Então eu baixei o código fonte, acrescentei o idioma português, compilei, gerei o pacote com o checkinstall, instalei e deu tudo certo. Basicamente, devem ser feitos os seguintes passos:
Uma ótima interface para o Tesseract OCR é o gscan2pdf. Até a próxima.
Referências
Under-Linux.org: Google anuncia Tesseract OCR
Blog do Thadeu Penna: Tesseract OCR chega no Debian Sid
Blog do Thadeu Penna: Brazilian Portuguese oficialmente suportado no Tesseract-OCR
Blog do Thadeu Penna: OCR de qualidade no Linux
Blog do Mitre: Tesseract OCR
Existem diversas ferramentas livre para Optical Character Recognition (OCR - Reconhecimento ótico de caracteres) como o gocr e o ocrad. Entretanto, eu ainda não tinha obtido uma eficiência tão boa até usar o Tesseract OCR.
O Tesseract OCR foi desenvolvido em um laboratórios da Hewlett-Packard entre 1985 e 1995. Em 1995 era um dos 3 melhores na competição de exatidão de OCR's organizada pela Universidade de Nevada em Las Vegas (UNLV). Entretanto, logo após isto, a HP decidiu sair do ramo de OCR e o Tesseract foi descontinuado. Felizmente a HP com a ajuda do Instituto de Pesquisas em Ciência da Informação da UNLV decidiu abrir o código fonte do Tesseract. Atualmente o Tesseract é mantido pela Google e já suporta vários idiomas, inclusive o português.
Instalação no Debian
Já existem pacotes nos repositórios do Debian para o Tesseract OCR e alguns idiomas, mas não consegui fazer com que eles funcionassem corretamente. Então eu baixei o código fonte, acrescentei o idioma português, compilei, gerei o pacote com o checkinstall, instalei e deu tudo certo. Basicamente, devem ser feitos os seguintes passos:
- Obtenha Tesseract via SVN através do comando:
svn checkout http://tesseract-ocr.googlecode.com/svn/trunk/ tesseract-ocr
- Obtenha o idioma português para o Tesseract através página de downloads do tesseract (a versão mais recente é tesseract-2.01.por.tar.gz)
- Descompacte o arquivo de idiomas será gerado um diretório chamado tessdata, copie todos os arquivos deste diretório para a pasta tesseract-ocr/tessdata (gerada pelo SVN)
- Altere o arquivo tesseract-ocr/tessdata/Makefile.am (basta seguir os padrões dos idiomas já incluídos).
Logo após a linha:
eng.pffmtable eng.user-words eng.word-dawg eng.unicharset
Acrescente " \"(sem aspas), e também acrescente as linhas (sem aspas):
" por.DangAmbigs por.freq-dawg por.inttemp por.normproto \"
" por.pffmtable por.user-words por.word-dawg por.unicharset"
Logo após a linha:
T = confsets makedummiesAcrescente as linhas (sem aspas):
"por.DangAmbigs por.freq-dawg por.inttemp por.normproto por.pffmtable por.user-words por.word-dawg por.unicharset : makedummies"
"$(top_srcdir)/tessdata/makedummies por"
- Altere o arquivo tesseract-ocr/tessdata/Makefile.in.
No final da linha iniciada por data_DATA = confsets, acrescente por.DangAmbigs por.freq-dawg por.inttemp por.normproto por.pffmtable por.user-words por.word-dawg por.unicharset
- Altere o arquivo tesseract-ocr/tesseract.spec.
Logo após a linha:
Source6: http://tesseract-ocr.googlecode.com/files/tesseract-%{version}.nld.tar.gzAcrescente a linha:
Source7: http://tesseract-ocr.googlecode.com/files/tesseract-%{version}.por.tar.gzLogo após a linha:
tar xzvf %{_sourcedir}/tesseract-%{version}.nld.tar.gz
Acrescente a linha:
tar xzvf %{_sourcedir}/tesseract-%{version}.por.tar.gzLogo após a linha:
%{_datadir}/tessdata/nld.word-dawgAcrescente as linhas:
%package por
Group: Applications/Multimedia
Summary: Portuguese language pack for tesseract
%description por
The %{name}-%{version}.por package contains the data files required to recognize Portuguese
%files por
%{_datadir}/tessdata/por.DangAmbigs
%{_datadir}/tessdata/por.freq-dawg
%{_datadir}/tessdata/por.inttemp
%{_datadir}/tessdata/por.normproto
%{_datadir}/tessdata/por.pffmtable
%{_datadir}/tessdata/por.unicharset
%{_datadir}/tessdata/por.user-words
%{_datadir}/tessdata/por.word-dawg - Configure e compile (acredito que o pacote build-essential resolva todas as dependências):
./configure --prefix=/usr --datadir=/usr/share/tesseract-ocr/tessdata
make - Se não houve nenhum erro o programa já está compilado perfeitamente. Se você não faz controle de pacotes basta o comando make install para instalar e usar. Por outro lado, pode-se criar um pacote para instalação através do checkinstall (como root):
# checkinstall
Para as perguntas feitas pelo checkinstall basta pressionar enter (seria uma boa idéia preencher a descrição). No final do processo deve ser gerado o arquivo tesseract-ocr_i386.deb. Então basta instalá-lo.
Uma ótima interface para o Tesseract OCR é o gscan2pdf. Até a próxima.
Referências
Under-Linux.org: Google anuncia Tesseract OCR
Blog do Thadeu Penna: Tesseract OCR chega no Debian Sid
Blog do Thadeu Penna: Brazilian Portuguese oficialmente suportado no Tesseract-OCR
Blog do Thadeu Penna: OCR de qualidade no Linux
Blog do Mitre: Tesseract OCR
Comentários
No final da linha iniciada por data_DATA = confsets, acrescente por.DangAmbigs por.freq-dawg por.inttemp por.normproto por.pffmtable por.user-words por.word-dawg por.unicharset"
Desculpe Sr. Marcos. Desconsidere meu comentário anterior.