1. Məhsullar
  2.   Şəkil
  3.   C++
  4.   Leptonica  

Leptonica  

 
 

Qabaqcıl Şəkil Emalı üçün C API

Açıq Mənbə C kitabxanası tərtibatçılara öz tətbiqləri daxilində təsvirin miqyası, tərcüməsi, fırlanması, kəsilməsi kimi qabaqcıl şəkil emal əməliyyatlarını yerinə yetirməyə imkan verir.

Leptonica açıq mənbəli C təsvirin işlənməsi və təsvirin təhlili kitabxanasıdır və təbii şəkillərlə yanaşı sənəd şəkilləri ilə işləmək üçün çox faydalıdır. Kitabxana çox sabitdir və JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF və PDF kimi çoxsaylı şəkil formatları üçün dəstək ehtiva edir. Təqdim olunan təsvir formatları siyahısında oxu və yazma əməliyyatlarını asanlıqla yerinə yetirə bilərsiniz. Kitabxana əsasən obyekt yönümlü yanaşmadan və kodu təhlükəsiz, daşına bilən və şəffaf edən bir sıra dizayn prinsiplərindən istifadə edirdi.

Kitabxana bir sıra mühüm əməliyyatlar və təsvirin işlənməsi, eləcə də təsvirin təhlili üçün alətlər dəsti üçün dəstək verir. Kitabxana təsvirin miqyasının dəyişdirilməsi, tərcüməsi, fırlanması, kəsilməsi, piksel dərinliyindəki dəyişikliklərlə şəkil çevrilmələri, ikili və boz miqyaslı morfologiya, Pixelwise maskalanması, qarışdırma, təkmilləşdirmə, arifmetik əməliyyatlar və sair kimi əməliyyatları dəstəkləyir. O, həmçinin pixa, boxa, pta kimi şəkil ilə əlaqəli məlumat növlərinin massivlərini idarə etmək üçün bir neçə vacib kommunal proqramı dəstəkləyir. em> digər.

O, həmçinin bir neçə təsviri olan faylları oxumaq və yazmaq və başlığa daxil edilmiş xüsusi TIFF teqləri ilə faylların yazılması funksiyalarını təmin etmişdir. O, həmçinin tərtibatçılara PostScript fayllarını PDF-ə çevirmə, rastr şəkilləri və PostScript faylını sıxılmış şəkillər dəstinə çevirmək kimi müxtəlif formatlarda yazmağa imkan verir.

Previous Next

Leptonika ilə başlamaq

Leptonicanı quraşdırmağın ən asan yolu GitHub vasitəsilə istifadə etməkdir. Düzgün quraşdırma üçün aşağıdakı əmrdən istifadə edin

GitHub vasitəsilə Leptonicanı quraşdırın.

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

Şəkilləri oxumaq və yazmaq

Leptonica açıq mənbə kitabxanası proqram tərtibatçılarına öz tətbiqləri daxilində şəkilləri oxumaq və yazmaq imkanı verir. Şəkil məlumatlarını oxumaq və yazmaq üçün aşağı səviyyəli və yüksək səviyyəli funksiyalar, çoxlu şəkilləri olan faylları oxumaq və yazmaq funksiyaları, başlığa daxil edilmiş TIFF teqləri olan fayllar, JPEG fayllarını oxumaq kimi şəkilləri oxumaq və yazmaq üçün bir neçə vacib üsul təqdim etmişdir. , PostScript fayllarını oxumaq və yazmaq və bir sıra digər funksiyalar. Kitabxana tərəfindən dəstəklənən bəzi xüsusi kodlayıcılar da var.

Şəkilləri Leptonika Kitabxanası vasitəsilə oxuyun

// 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();

C Kitabxanası vasitəsilə Şəkil Ölçüsü

Leptonica açıq mənbəli kitabxanası öz C tətbiqi daxilində şəkilləri asanlıqla miqyaslaşdırmaq üçün tam dəstək verdi. Leptonica tərəfindən təmin edilən çoxsaylı miqyaslama funksiyaları var, məsələn, xətti interpolyasiyadan istifadə edərək miqyasda böyütmə, alt seçmə istifadə edərək miqyasda azalma və ya ərazinin xəritələşdirilməsi, seçmə, 2x və 4x xətti interpolyasiya böyüdülməsi, RGB-nin boz və ya ikiliyə tam alt seçilməsi və daha çoxu. Bundan əlavə, ikili şəkillərdə çox sürətli miqyaslama da təklif olunur və skan edilmiş ikili mətnin təsvirinin təhlili üçün faydalıdır.

C Kitabxanası vasitəsilə daha yaxşı şəkil fırlanması

Açıq mənbəli kitabxana Leptonika öz C proqramları daxilində şəkillərin fırlanmasına dəstək verdi. Şəklin fırlanma əməliyyatına nail olmaq üçün bir çox üsul var, məsələn, kəsmə ilə fırlanma, ərazinin xəritələşdirilməsi ilə fırlanma, 90, 180 və ya 270 dərəcə xüsusi fırlanmalar, 2 və ya 3 kəsmə ilə fırlanma və daha çox.

C Kitabxanası vasitəsilə 180 dərəcə şəkil fırlanması

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);
 Azəri