Leptonica
C API pentru procesarea avansată a imaginilor
Biblioteca Open Source C le permite dezvoltatorilor să efectueze operațiuni avansate de procesare a imaginii, cum ar fi scalarea imaginii, translația, rotația, forfecarea în propriile aplicații.
Leptonica este o bibliotecă open source C de procesare a imaginii și analiză a imaginilor, care este foarte utilă pentru lucrul cu imagini de document, precum și cu imagini naturale. Biblioteca este foarte stabilă și a inclus suport pentru numeroase formate de imagine, cum ar fi JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF și PDF. Puteți efectua cu ușurință operațiuni de citire și scriere pe lista de formate de imagine furnizată. Biblioteca a folosit în mare parte abordarea orientată pe obiecte și un set de principii de proiectare care fac codul sigur, portabil și transparent.
Biblioteca oferă suport pentru mai multe operațiuni importante și un set de instrumente pentru procesarea imaginilor, precum și analiza imaginilor. Biblioteca acceptă operațiuni precum scalarea imaginii, translația, rotația, forfecarea, transformările imaginii cu modificări ale adâncimii pixelilor, morfologia binară și pe scară de gri, mascarea Pixelwise, amestecarea, îmbunătățirea, operațiunile aritmetice și multe altele. De asemenea, acceptă mai multe utilitare importante, cum ar fi pentru manipularea matricelor de tipuri de date legate de imagini, cum ar fi pixa, boxa, pta și em> altul.
De asemenea, a oferit funcții pentru citirea și scrierea fișierelor care au mai multe imagini și scrierea fișierelor cu etichete TIFF speciale încorporate în antet. De asemenea, permite dezvoltatorilor să scrie fișiere PostScript într-o varietate de formate, cum ar fi transformarea în PDF, imagini raster și conversia unui fișier PostScript într-un set de imagini comprimate.
Noțiuni introductive cu Leptonica
Cel mai simplu mod de a instala Leptonica este prin intermediul GitHub. Vă rugăm să utilizați următoarea comandă pentru o instalare fără probleme
Instalați Leptonica prin GitHub.
git clone --depth=1 https://github.com/mrdoob/three.js.git
Citirea și scrierea imaginilor
Biblioteca open source Leptonica oferă dezvoltatorilor de software capacitatea de a citi și scrie imagini în propriile aplicații. A furnizat mai multe metode importante pentru citirea și scrierea imaginilor, cum ar fi funcții de nivel scăzut și de nivel înalt pentru citirea și scrierea datelor de imagine, funcții pentru citirea și scrierea fișierelor cu mai multe imagini, fișiere cu etichete TIFF încorporate în antet, citirea fișierelor JPEG , citirea și scrierea fișierelor PostScript și alte câteva funcții. Există unele codificatoare specifice acceptate și de bibliotecă.
Citiți Imagini prin 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();
Scalare imagini prin C Library
Biblioteca open source Leptonica a oferit suport complet pentru scalarea imaginilor în cadrul propriei aplicații C cu ușurință. Există numeroase funcții de scalare oferite de Leptonica, cum ar fi scalarea prin interpolare liniară, reducerea scalare prin utilizarea sub-eșantionării sau prin maparea zonei, eșantionarea, 2x și 4x interpolare liniară upscaling, subeșantionarea întregului RGB la gri sau binar și multe altele. În afară de aceasta, este oferită și scalarea foarte rapidă a imaginilor binare și este utilă pentru analiza imaginii textului binar scanat.
Rotire mai bună a imaginii prin C Library
Biblioteca open source Leptonica a oferit suport pentru rotația imaginilor în propriile aplicații C. Există numeroase modalități de realizare a operațiunii de rotație a imaginii, cum ar fi rotația prin forfecare, rotația prin maparea zonei, rotații speciale cu 90, 180 sau 270 de grade, rotație cu 2 sau 3 forfecare și multe altele.
Rotația imaginii de 180 de grade prin 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);