Leptonica
C API uzlabotai attēlu apstrādei
Atvērtā pirmkoda C bibliotēka ļauj izstrādātājiem veikt uzlabotas attēlu apstrādes darbības, piemēram, attēlu mērogošanu, tulkošanu, pagriešanu un bīdīšanu savās lietotnēs.
Leptonica ir atvērtā koda C attēlu apstrādes un attēlu analīzes bibliotēka, kas ir ļoti noderīga darbam ar dokumentu attēliem, kā arī dabiskiem attēliem. Bibliotēka ir ļoti stabila, un tajā ir iekļauts atbalsts daudziem attēlu formātiem, piemēram, JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF un PDF. Norādītajā attēlu formātu sarakstā varat viegli veikt lasīšanas un rakstīšanas darbības. Bibliotēkā galvenokārt tika izmantota objektorientēta pieeja un dizaina principu kopums, kas padara kodu drošu, pārnēsājamu un caurspīdīgu.
Bibliotēka nodrošina atbalstu vairākām svarīgām operācijām un rīku komplektu attēlu apstrādei, kā arī attēlu analīzei. Bibliotēka atbalsta tādas darbības kā attēla mērogošana, tulkošana, pagriešana, bīde, attēla transformācijas ar pikseļu dziļuma izmaiņām, bināro un pelēktoņu morfoloģiju, pikseļu maskēšanu, sajaukšanu, uzlabošanu, aritmētiskās darbības un daudzas citas. Tā atbalsta arī vairākas svarīgas utilītas, piemēram, ar attēlu saistītu datu tipu masīvu apstrādei, piemēram, pixa, boxa, pta un em> cits.
Tas ir arī nodrošinājis funkcijas tādu failu lasīšanai un rakstīšanai, kuriem ir vairāki attēli, un failu rakstīšanai ar galvenē iegultiem īpašiem TIFF tagiem. Tas arī ļauj izstrādātājiem rakstīt PostScript failus dažādos formātos, piemēram, pārveidot par PDF, rastra attēlus un konvertēt PostScript failu saspiestu attēlu komplektā.
Darba sākšana ar Leptonica
Vienkāršākais veids, kā instalēt Leptonica, ir izmantot GitHub. Lūdzu, izmantojiet šo komandu vienmērīgai instalēšanai
Instalējiet Leptonica, izmantojot GitHub.
git clone --depth=1 https://github.com/mrdoob/three.js.git
Attēlu lasīšana un rakstīšana
Atvērtā pirmkoda bibliotēka Leptonica sniedz programmatūras izstrādātājiem iespēju lasīt un rakstīt attēlus savās lietojumprogrammās. Tas ir nodrošinājis vairākas svarīgas metodes attēlu lasīšanai un rakstīšanai, piemēram, zema un augsta līmeņa funkcijas attēlu datu lasīšanai un rakstīšanai, funkcijas failu lasīšanai un rakstīšanai ar vairākiem attēliem, failus ar galvenē iegultiem TIFF tagiem, JPEG failu lasīšanu. , PostScript failu lasīšana un rakstīšana un vairākas citas funkcijas. Bibliotēka atbalsta arī dažus specifiskus kodētājus.
Lasiet attēlus, izmantojot Leptonica bibliotēku
// 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();
Attēla mērogošana, izmantojot C bibliotēku
Atvērtā pirmkoda bibliotēka Leptonica ir nodrošinājusi pilnīgu atbalstu attēlu mērogošanai savā C lietojumprogrammā. Leptonica nodrošina daudzas mērogošanas funkcijas, piemēram, mērogošana, izmantojot lineāro interpolāciju, mērogošana, izmantojot apakšizlases, vai apgabalu kartēšana, iztveršana, 2x un 4x lineārās interpolācijas palielināšana, RGB veselu skaitļu apakšiztveršana uz pelēko vai bināro un daudzas citas. Papildus tam tiek piedāvāta arī ļoti ātra bināro attēlu mērogošana, kas ir noderīga skenētā binārā teksta attēlu analīzei.
Labāka attēla pagriešana, izmantojot C bibliotēku
Atvērtā pirmkoda bibliotēka Leptonica ir nodrošinājusi atbalstu attēlu pagriešanai savās C lietojumprogrammās. Ir daudz veidu, kā panākt attēla pagriešanas darbību, piemēram, pagriešana ar bīdes palīdzību, rotācija pēc apgabala kartēšanas, īpašas pagriešanas par 90, 180 vai 270 grādiem, pagriešana ar 2 vai 3 bīdēm un daudzas citas.
180 grādu attēla pagriešana, izmantojot C bibliotēku
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);