Leptonica
C API for avansert bildebehandling
Open Source C-biblioteket lar utviklere utføre avanserte bildebehandlingsoperasjoner som bildeskalering, oversettelse, rotasjon, skjæring i sine egne apper.
Leptonica er et åpen kildekode C bildebehandlings- og bildeanalysebibliotek som er svært nyttig for å jobbe med dokumentbilder så vel som naturlige bilder. Biblioteket er veldig stabilt og har inkludert støtte for en rekke bildeformater som JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF og PDF. Du kan enkelt utføre lese- og skriveoperasjoner på den medfølgende listen over bildeformater. Biblioteket brukte for det meste objektorientert tilnærming og et sett med designprinsipper som gjør koden trygg, bærbar og gjennomsiktig.
Biblioteket gir støtte til flere viktige operasjoner og et sett med verktøy for bildebehandling samt bildeanalyse. Biblioteket støtter operasjoner som bildeskalering, translasjon, rotasjon, skjæring, bildetransformasjoner med endringer i pikseldybde, binær og gråskalamorfologi, pikselvis maskering, blanding, forbedring, aritmetiske operasjoner og mange flere. Den støtter også flere viktige verktøy som for å håndtere arrays av bilderelaterte datatyper som pixa, boxa, pta og em> annet.
Den har også gitt funksjoner for lesing og skriving av filer med flere bilder og skrivefiler med spesielle TIFF-koder innebygd i overskriften. Den lar også utviklere skrive PostScript-filer i en rekke formater som transformasjon til PDF, rasterbilder og konvertering av en PostScript-fil til et sett med komprimerte bilder.
Komme i gang med Leptonica
Den enkleste måten å installere Leptonica på er å bruke via GitHub. Bruk følgende kommando for en jevn installasjon
Installer Leptonica via GitHub.
git clone --depth=1 https://github.com/mrdoob/three.js.git
Lese og skrive bilder
Åpen kildekode-biblioteket Leptonica gir programvareutviklere muligheten til å lese og skrive bilder i sine egne applikasjoner. Den har gitt flere viktige metoder for lesing og skriving av bilder, som lav- og høynivåfunksjoner for lesing og skriving av bildedata, funksjoner for lesing og skriving av filer med flere bilder, filer med TIFF-tagger innebygd i overskriften, lesing av JPEG-filer , lese og skrive PostScript-filer og flere andre funksjoner. Det er noen spesifikke kodere som også støttes av biblioteket.
Les bilder via Leptonica Library
// 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();
Bildeskalering via C Library
Åpen kildekode-biblioteket Leptonica har gitt fullstendig støtte for å skalere bilder i deres egen C-applikasjon med letthet. Det er mange skaleringsfunksjoner levert av Leptonica, for eksempel oppskalering ved hjelp av lineær interpolering, nedskalering ved bruk av subsampling, eller ved områdekartlegging, sampling, 2x og 4x lineær interpolasjonsoppskalering, heltallssubsampling av RGB til grå eller binær, og mange flere. Bortsett fra det tilbys også veldig rask skalering på binære bilder, og er nyttig for bildeanalyse av den skannede binære teksten.
Bedre bilderotasjon via C Library
Åpen kildekode-biblioteket Leptonica har gitt støtte for å rotere bilder i deres egne C-applikasjoner. Det er mange måter å oppnå bilderotasjonsoperasjonen på, for eksempel rotasjon ved skjæring, rotasjon ved områdekartlegging, spesielle rotasjoner med 90, 180 eller 270 grader, rotasjon med enten 2 eller 3 skjær, og mange flere.
180 graders bilderotasjon via C Library
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);