No desafio de 2014 , Michael Stern sugere usar o OCR para analisar para 2014. Gostaria de encarar esse desafio em uma direção diferente. Usando o OCR interno da biblioteca de idiomas / padrão de sua escolha, projete a menor imagem (em bytes) que é analisada na cadeia ASCII "2014".
A imagem original de Stern tem 7357 bytes, mas com um pouco de esforço pode ser compactada sem perdas para 980 bytes. Sem dúvida, a versão em preto e branco (181 bytes) também funciona com o mesmo código.
Regras: Cada resposta deve fornecer a imagem, seu tamanho em bytes e o código necessário para processá-la. Nenhum OCR personalizado é permitido, por razões óbvias ...! Quaisquer idiomas e formatos de imagem razoáveis são permitidos.
Editar: em resposta aos comentários, vou ampliar isso para incluir qualquer biblioteca preexistente ou até http://www.free-ocr.com/ para os idiomas em que não há OCR disponível.
fonte
Respostas:
Shell (ImageMagick, Tesseract), 18 bytes
A imagem tem 18 bytes e pode ser reproduzida assim:
Parece com isso (esta é uma cópia PNG, não o original):
Após o processamento com o ImageMagick, fica assim:
Usando o ImageMagick versão 6.6.9-7, Tesseract versão 3.02. A imagem PBM foi criada no Gimp e editada com um editor hexadecimal.
Esta versão requer
jp2a
.Ele gera algo como isto:
fonte
Java + Tesseract, 53 bytes
Como não tenho o Mathematica, decidi
flexionar um pouco as regras eusar o Tesseract para fazer o OCR. Eu escrevi um programa que renderiza "2014" em uma imagem, usando várias fontes, tamanhos e estilos, e encontra a menor imagem que é reconhecida como "2014". Os resultados dependem das fontes disponíveis.Aqui está o vencedor no meu computador - 53 bytes, usando a fonte "URW Gothic L":
Código:
fonte
Mathematica
753100Meu melhor caso até agora:
fonte
Mathematica, 78 bytes
O truque para ganhar isso no Mathematica provavelmente será o uso da função ImageResize [], como abaixo.
Primeiro, criei o texto "2014" e o salvei em um arquivo GIF, para uma comparação justa com a solução de David Carraher. O texto parece . Isso não é otimizado de forma alguma; é apenas Genebra com um tamanho de fonte pequeno; outras fontes e tamanhos menores podem ser possíveis. TextRecognize [] direto falharia, mas TextRecognize [ImageResize []]] não tem nenhum problema
A confusão com o tipo de letra, tamanho da fonte, grau de escala etc., provavelmente resultará em arquivos ainda menores que funcionarão.
fonte