Leptonica
API C para processamento avançado de imagens
A biblioteca C de código aberto permite que os desenvolvedores realizem operações avançadas de processamento de imagens, como dimensionamento, tradução, rotação e cisalhamento de imagens dentro de seus próprios aplicativos.
Leptonica é uma biblioteca de processamento e análise de imagens C de código aberto que é muito útil para trabalhar com imagens de documentos e imagens naturais. A biblioteca é muito estável e inclui suporte para vários formatos de imagem, como JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF e PDF. Você pode facilmente realizar operações de leitura e escrita na lista de formatos de imagem fornecida. A biblioteca usou principalmente uma abordagem orientada a objetos e um conjunto de princípios de design que tornam o código seguro, portátil e transparente.
A biblioteca fornece suporte para várias operações importantes e um conjunto de ferramentas para processamento e análise de imagens. A biblioteca suporta operações como dimensionamento de imagem, tradução, rotação, cisalhamento, transformações de imagem com alterações na profundidade de pixel, morfologia binária e em escala de cinza, mascaramento Pixelwise, mesclagem, aprimoramento, operações aritméticas e muito mais. Ele também suporta vários utilitários importantes, como para lidar com matrizes de tipos de dados relacionados a imagens, como pixa, boxa, pta e em> outro.
Ele também forneceu funções para ler e gravar arquivos com várias imagens e gravar arquivos com tags TIFF especiais incorporadas no cabeçalho. Ele também permite que os desenvolvedores escrevam arquivos PostScript em vários formatos, como transformação em PDF, imagens raster e conversão de um arquivo PostScript em um conjunto de imagens compactadas.
Introdução ao Leptonica
A maneira mais fácil de instalar o Leptonica é usando o GitHub. Por favor, use o seguinte comando para uma instalação suave
Instale o Leptonica via GitHub.
git clone --depth=1 https://github.com/mrdoob/three.js.git
Lendo e escrevendo imagens
A biblioteca de código aberto Leptonica dá aos desenvolvedores de software a de ler e escrever imagens dentro de suas aplicações. Forneceu vários importantes para ler e escrever imagens, como de baixo nível e de alto nível para ler e escrever dados de imagem, para ler e escrever arquivos com várias imagens, arquivos com tags TIFF ido no cabeçalho, Há alguns específicos também apoiados pela biblioteca.
Leia imagens através da Biblioteca Leptonica
// Open input image with leptonica library
Pix *image = pixRead("/usr/src/tesseract-3.02/phototest.tif");
api->SetImage(image);
// Get OCR result
char *outText;
outText = api->GetUTF8Text();
Dimensionamento de imagem via biblioteca C
A biblioteca de código aberto Leptonica fornece suporte completo para dimensionar imagens dentro de seu próprio aplicativo C com facilidade. Existem inúmeras funções de dimensionamento fornecidas pelo Leptonica, como upscaling usando interpolação linear, downscaling usando subsampling ou mapeamento de área, amostragem, upscaling de interpolação linear 2x e 4x, subsampling inteiro de RGB para cinza ou binário e muito mais. Além disso, o dimensionamento muito rápido em imagens binárias também é oferecido e é útil para análise de imagem do texto binário digitalizado.
Melhor rotação de imagem via biblioteca C
A biblioteca de código aberto Leptonica forneceu suporte para a rotação de imagens dentro de seus próprios aplicativos C. Existem várias maneiras de realizar a operação de rotação da imagem, como rotação por cisalhamento, rotação por mapeamento de área, rotações especiais de 90, 180 ou 270 graus, rotação de 2 ou 3 cisalhamento e muito mais.
180 Grau Rotação de Imagem através da Biblioteca C
extra = w & 31;
if (extra)
shift = 32 - extra;
else
shift = 0;
if (shift)
rasteropHipLow(datas, w, h, d, wpls, 0, h, shift);
databpl = (w + 7) / 8;
bpl = 4 * wpls;
for (i = 0; i < h; i++) {
lines = datas + (h - 1 - i) * wpls;
lined = datad + i * wpld;
for (j = 0; j < databpl; j++) {
if (val = GET_DATA_BYTE(lines, bpl - 1 - j))
SET_DATA_BYTE(lined, j, tab[val]);
}
}
if (shift)
rasteropHipLow(datas, w, h, d, wpls, 0, h, -shift);