Pular para o conteúdo principal
O ABBYY FineReader Engine trabalha com imagens ao carregá-las em um objeto FRDocument, que representa o documento em processamento.

Abertura de imagens

Para carregar imagens no documento, faça um dos seguintes: Todos esses métodos recebem como parâmetro o objeto PrepareImageMode, que permite especificar diferentes parâmetros de pré-processamento da imagem. Chame o método IEngine::CreatePrepareImageMode para criar esse objeto, altere suas propriedades conforme necessário e, em seguida, passe-o para um dos métodos mencionados acima. Você também pode adicionar um objeto ImageDocument existente (por exemplo, carregado de um arquivo em formato interno) usando o método AddImageDocument do objeto FRDocument.

Estrutura do ImageDocument

Depois de carregada no documento, a imagem de cada página pode ser acessada por meio da propriedade IFRPage::ImageDocument. Cada imagem aberta no ABBYY FineReader Engine é representada por um objeto ImageDocument. O ImageDocument armazena a imagem no chamado “formato interno”, que inclui 4 planos de imagem, representados por objetos Image:
  • Plano em preto e branco. É a cópia em preto e branco da imagem de origem.
  • Plano em cinza. É a cópia em cinza da imagem de origem. Se a imagem de origem era em preto e branco, esse plano é igual ao plano em preto e branco.
  • Plano em cor. É a cópia colorida da imagem de origem. Se a imagem de origem era em preto e branco, esse plano é igual ao plano em preto e branco; se era em cinza, esse plano é igual ao plano em cinza.
  • Pré-visualização. Uma pequena imagem colorida usada para exibir uma pré-visualização na interface do usuário. A pré-visualização é criada na chamada do método GetPreviewImage ou GetPreviewImageSpecificSize. Qualquer modificação na imagem, automática ou manual, pode redefinir a pré-visualização criada, e ela terá de ser criada novamente.
O tamanho e a resolução das imagens em preto e branco, em cinza e em cor são os mesmos. A imagem de pré-visualização geralmente é menor. As imagens podem ter a inclinação corrigida durante a abertura. Para correlacionar as coordenadas da imagem original com as coordenadas após a abertura ou após modificações adicionais, use o objeto CoordinatesConverter. Ele armazena o estado das coordenadas no momento em que foi obtido. Você pode usar esse objeto para converter coordenadas de pixels entre quaisquer duas etapas do processamento da imagem. Por exemplo:
  1. Obtenha esse objeto usando a propriedade IImageDocument::CoordinatesConverter diretamente após a abertura da imagem, durante a qual a inclinação da imagem foi corrigida.
  2. Após outras modificações, obtenha outra instância desse objeto no ImageDocument.
  3. Agora você pode converter coordenadas de pixels entre o plano de imagem inicialmente corrigido quanto à inclinação e o plano de imagem modificado aplicando o método ConvertCoordinates duas vezes:
    1. Converta do plano de imagem corrigido quanto à inclinação para o original usando a primeira instância do CoordinatesConverter.
    2. Converta o resultado do plano de imagem original para o plano de imagem modificado usando a segunda instância do CoordinatesConverter.
O mesmo método permite converter coordenadas de pixels de um dos planos de imagem em tamanho real para o plano de imagem de pré-visualização e vice-versa. As coordenadas dos pixels nos planos de imagem em preto e branco, em cinza e em cor são as mesmas.
Uma modificação na imagem, automática ou manual, pode redefinir o plano de imagem de pré-visualização criado anteriormente, e você não conseguirá converter coordenadas para essa pré-visualização nem a partir dela. Antes de converter coordenadas, chame novamente o método GetPreviewImage se a imagem tiver sido modificada.

Modificação da imagem

Os mecanismos automáticos de pré-processamento são a melhor maneira de preparar a imagem para OCR (Optical Character Recognition). O programa determina a origem da imagem e o tipo de documento, detecta orientação incorreta, resolução inadequada ou inclinação da imagem e leva todos esses dados em consideração para melhorá-la. Recomendamos que você só faça modificações adicionais na imagem se, após o pré-processamento automático, não ficar satisfeito com o resultado.
As modificações durante a abertura da imagem são gerenciadas pelo objeto PrepareImageMode. Após a abertura, a imagem pode ser modificada usando:

Salvando imagens

Você pode salvar o plano atual da imagem em um arquivo de imagem no formato especificado usando o método WriteToFile do objeto Image. O ABBYY FineReader Engine também fornece recursos para salvar várias imagens em um único arquivo de imagem. Para salvar um arquivo de imagem com várias páginas, use o objeto MultipageImageWriter:
  1. Crie um objeto MultipageImageWriter usando o método CreateMultipageImageWriter do objeto Engine.
  2. Adicione imagens ao final do arquivo de imagem com várias páginas usando o método AddPage do objeto MultipageImageWriter. Cada imagem é adicionada como uma página única.
  3. Antes que o arquivo de imagem recém-criado possa ser usado, todas as referências ao objeto MultipageImageWriter devem ser liberadas.
Observe que, embora o objeto ImageDocument forneça um conjunto de métodos de salvamento (SaveTo, SaveToFile, SaveToMemory), esses métodos não podem ser usados para salvar uma imagem em um formato externo. Esses métodos salvam o conteúdo do objeto ImageDocument no formato interno do ABBYY FineReader Engine, que não pode ser exibido em nenhum programa externo.

Veja também

Formatos de imagem suportados