Texto de desenho: o que é e como funciona na prática
A maioria das pessoas confunde texto de desenho com simples legendas em imagens. Não é. O termo se refere ao conteúdo textual embutido em desenhos técnicos, plantas baixas, diagramas elétricos, mapas topográficos ou qualquer representação gráfica que carregue informação escrita integrada à geometria. Quando você abre um arquivo CAD, por exemplo, e vê cotas, rótulos de portas, tabelas de escala, aquele monte de texto coordenado às linhas é texto de desenho. A diferença crucial é que esse texto não vive isolado: ele está espacialmente vinculado a elementos geométros, e quando a geometria muda, o texto precisa acompanhar.
O processo real de extração e edição
Vou começar direto pela parte que todo mundo erra: a extração. A abordagem ingênua seria aplicar OCR genérico em uma imagem de desenho técnico e torcer para funcionar. Já vi isso sendo recomendado em três fóruns diferentes. Funciona em papel timbrado de restaurante, não em uma prancheta A1 com quatro escalas diferentes, letras garrafais coladas a linhas de cota e anotações manuscritas sobrepostas a simbologia normalizada. O fluxo que realmente funciona depende do tipo de arquivo que você tem em mãos.
Se for arquivo vetorial nativo (DWG, DXF, SHP, PDF vetorial), o texto já existe como entidade de texto no arquivo. Você só precisa abrir em um visualizador adequado e exportar. A armadilha aqui é que muitos arquivos CAD são salvos com texto convertido em polilinhas por quem não sabe o que está fazendo, ou por restrições de compatibilidade entre versões antigas do AutoCAD. Nesse caso, a entidade "text" some e vira geometry pura. Não adianta procurar no inspector de objetos. Você vai precisar recorrer a OCR especializado ou recriar manualmente, o que consome muito tempo em desenhos grandes. Se for rasterizado — imagem JPG, PNG, foto de um printed blueprint — aí entra o OCR propriamente dito, mas com ressalvas importantes. Ferramentas como Tesseract open source dão conta do recado em desenhos limpos, sem ruído de digitalização. Na prática, desenhos escaneados de obra raramente são limpos. Manchas de água, linhas cruzadas, trechos borrados por uso. O Tesseract sozinho vai te dar taxa de erro de 30 a 40% nesse cenário, o que significa que você vai gastar mais tempo corrigindo do que digitando do zero.
A solução que uso hoje é combinar três coisas: pré-processamento de imagem com OpenCV para aumentar contraste local e remover ruído, segmentação por região para isolar áreas de texto das áreas geométricas densas, e depois OCR com modelo fine-tuned para texto técnico. O resultado costuma cair para 8 a 12% de erro em condições normais de digitalização. Um problema específico que enfrentei recentemente: tinha um conjunto de 200 plantas de infraestrutura urbana em PDF rasterizado, escaneadas em 150 DPI a partir de originais em papel vegetal amarelado. O texto de desenho incluía cotações em milímetros, nomes de logradouros e numeração de lotes. O OCR padrão lia "Rua das Palmeiras" como "Rua das Palmme1ras" e transformava cotas "4,50 m" em "4S5O m" por causa da compressão do PDF. A correção manual levaria dias.
O workaround foi criar um dicionário personalizado de termos esperados baseado na base imobiliária do município, adicionar regras de validação para cotas (formato numérico com vírgula decimal seguido de unidade), e usar um script Python que aplicava correções pós-OCR com base nessas regras. O processo que antes levaria cerca de 3 horas por planta caiu para 15 minutos, incluindo verificação humana dos casos ambíguos.
Formatos de saída e interoperabilidade
Depois de extrair o texto de desenho, você precisa decidir onde ele vai parar. As opções mais comuns são: CSV ou TSV para planilhas e processamento em lote. Simples, rápido, mas perde a informação espacial. Você sabe que existe um texto, mas não necessariamente onde ele estava posicionado no desenho original.
👉 Clique no botão abaixo para saber mais sobre o assunto!
GeoJSON ou Shapefile com atributos de texto. Se você precisa manter a relação espacial, essa é a saída adequada. Cada ocorrência de texto vira um ponto ou polígono com atributos contendo o conteúdo lido, a fonte original, a confiança do OCR e metadados de posicionamento. JSON estruturado com hierarquia. Útil quando o desenho tem camadas organizadas (plantas por pavimento, setores, etc.). Você pode preservar a árvore de layers e o contexto de cada bloco de texto.
Nenhum desses formatos é perfeito. CSV é barato mas raso. GeoJSON preserva geografia mas pesa muito em volumes grandes. JSON estruturado é flexível mas exige processamento customizado para cada projeto.
Erros que acontecem o tempo todo
A primeira armadilha é achar que a resolução do scan determina a qualidade do OCR. Determina, mas não é o fator principal. O que mais importa é o contraste entre o texto e o fundo, e a densidade de linhas próximas ao texto. Um scan em 600 DPI com fundo cinza e linhas finas pretas vai render pior resultado que um scan em 200 DPI com fundo branco puro e linhas bem definidas. A segunda é subestimar a variação tipográfica em desenhos técnicos. Uma mesma prancheta pode ter Helvetica para títulos, Times para corpo de texto, e uma fonte manuscrita para anotações do engenheiro responsável. Um OCR treinado em texto impresso padrão vai interpretar a letra mão como ruído e descartar. Em documentos técnicos, essas anotações manuscritas frequentemente contêm informações críticas — correções de campo, ajustes de última hora, observações que não constam na versão digital.
A terceira, e talvez mais traiçoa: textos sobrepostos a hachuras ou sombras. Quando uma área de preenchimento diagonal passa por cima de uma cota, o OCR vê partículas de linha cruzando números e produz lixo. A solução prática é filtrar as camadas antes do OCR. Se você tem acesso ao arquivo fonte, desligue camadas de hachura e sombreamento. Se só tem a imagem rasterizada, use segmentação morfológica para separar texturas de preenchimento do texto.
Quando o texto de desenho não funciona
Vou ser direto: existem cenários em que automação é inviável e você deve aceitar que o trabalho manual é a única opção viável. Desenhos em muy baixo contraste, como cópias de cópias de cópias em papel de baixa qualidade. Textos em idiomas ou dialetos não suportados pelos modelos de OCR disponíveis. Desenhar manuscritos em condições extremas de deterioração física do suporte. E casos em que o texto de desenho está integrado a elementos gráficos tão densos que qualquer separação automática introduz mais erro do que resolve. Se o seu volume for grande e as condições forem ruins, considere contratar um serviço de digitação técnica especializada. O custo por página varia, mas em geral sai mais barato do que horas de pós-correção de OCR defeituoso, especialmente quando a precisão é crítica — o que é comum em documentos de infraestrutura, registro de propriedade e documentação legal.
Para quem quer implementar o processo de forma autônoma, as ferramentas principais são: OpenCV para pré-processamento, Tesseract ou EasyOCR para a extração em si, e Python com pandas ou geopandas para estruturar os dados de saída. Existem pacotes específicos como pdf2text e shapely que ajudam na parte de manipulação de PDFs vetoriais e geometria. Não tem botão mágico que resolva tudo, mas com o pipeline certo e uma boa base de validação, o texto de desenho deixa de ser um pesadelo e vira um processo operacional previsível.