1. Productos
  2.   Imagen
  3.   C++
  4.   Leptonica  

Leptonica  

 
 

C API para procesamiento de imágenes avanzado

La biblioteca Open Source C permite a los desarrolladores realizar operaciones avanzadas de procesamiento de imágenes como escalado de imágenes, traducción, rotación, corte dentro de sus propias aplicaciones.

Leptonica es una biblioteca de procesamiento de imágenes y análisis de imágenes C de código abierto que es muy útil para trabajar con imágenes de documentos, así como con imágenes naturales. La biblioteca es muy estable y ha incluido soporte para numerosos formatos de imagen como JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF y PDF. Puede realizar fácilmente operaciones de lectura y escritura en la lista proporcionada de formatos de imagen. La biblioteca utilizó principalmente un enfoque orientado a objetos y un conjunto de principios de diseño que hacen que el código sea seguro, portátil y transparente.

La biblioteca brinda soporte para varias operaciones importantes y un conjunto de herramientas para el procesamiento y análisis de imágenes. La biblioteca admite operaciones como el escalado de imágenes, la traducción, la rotación, el corte, las transformaciones de imágenes con cambios en la profundidad de píxeles, la morfología binaria y en escala de grises, el enmascaramiento de píxeles, la combinación, la mejora, las operaciones aritméticas y muchas más. También es compatible con varias utilidades importantes, como el manejo de conjuntos de tipos de datos relacionados con imágenes, como pixa, boxa, pta y otro.

También ha proporcionado funciones para leer y escribir archivos que tienen varias imágenes y escribir archivos con etiquetas TIFF especiales incrustadas en el encabezado. También permite a los desarrolladores escribir archivos PostScript en una variedad de formatos, como la transformación a PDF, imágenes rasterizadas y la conversión de un archivo PostScript en un conjunto de imágenes comprimidas.

Previous Next

Primeros pasos con Leptonica

La forma más fácil de instalar Leptonica es mediante GitHub. Utilice el siguiente comando para una instalación sin problemas

Instale Leptonica a través de GitHub.

git clone --depth=1 https://github.com/mrdoob/three.js.git 

Lectura y escritura de imágenes.

La biblioteca de fuentes abiertas Leptonica da a los desarrolladores de software la capacidad de leer y escribir imágenes dentro de sus propias aplicaciones. Ha proporcionado varios métodos importantes para leer y escribir imágenes tales como funciones de bajo nivel y alto nivel para leer y escribir datos de imagen, funciones para leer y escribir archivos con múltiples imágenes, archivos con etiquetas TIFF incrustados en los archivos JP, También hay algunos códigos específicos apoyados por la biblioteca.

Lea imágenes a través de la 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();

Escalado de imágenes a través de la biblioteca C

La biblioteca de código abierto Leptonica ha brindado soporte completo para escalar imágenes dentro de su propia aplicación C con facilidad. Hay numerosas funciones de escala proporcionadas por Leptonica, como la ampliación mediante interpolación lineal, la reducción mediante submuestreo o el mapeo de áreas, el muestreo, la ampliación de escala con interpolación lineal 2x y 4x, el submuestreo entero de RGB a gris o binario, y muchas más. Aparte de eso, también se ofrece un escalado muy rápido en imágenes binarias, y es útil para el análisis de imágenes del texto binario escaneado.

Mejor rotación de imágenes a través de la biblioteca C

La biblioteca de código abierto Leptonica ha proporcionado soporte para rotar imágenes dentro de sus propias aplicaciones C. Existen numerosas formas de lograr la operación de rotación de la imagen, como la rotación por corte, la rotación por mapeo de áreas, rotaciones especiales de 90, 180 o 270 grados, rotación por 2 o 3 cortes, y muchas más.

Rotación de imagen de 180 grados a través de la 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);
 Español