1. Продукти
  2.   Образ
  3.   C++
  4.   Leptonica  

Leptonica  

 
 

C API за разширена обработка на изображения

Библиотеката C с отворен код позволява на разработчиците да извършват усъвършенствани операции за обработка на изображения като мащабиране на изображения, превод, завъртане, срязване в техните собствени приложения.

Leptonica е C библиотека с отворен код за обработка и анализ на изображения, която е много полезна за работа с изображения на документи, както и с естествени изображения. Библиотеката е много стабилна и включва поддръжка за множество формати на изображения като JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF и PDF. Можете лесно да извършвате операции за четене и запис върху предоставения списък с формати на изображения. Библиотеката използва предимно обектно-ориентиран подход и набор от принципи на проектиране, които правят кода безопасен, преносим и прозрачен.

Библиотеката осигурява поддръжка за няколко важни операции и набор от инструменти за обработка на изображения, както и за анализ на изображения. Библиотеката поддържа операции като мащабиране на изображението, транслация, ротация, срязване, трансформации на изображението с промени в дълбочината на пиксела, двоична морфология и морфология на сивата скала, Pixelwise маскиране, смесване, подобряване, аритметични операции и много други. Той също така поддържа няколко важни помощни програми, като например за работа с масиви от типове данни, свързани с изображения, като pixa, boxa, pta и друго.

Той също така предоставя функции за четене и запис на файлове с няколко изображения и запис на файлове със специални TIFF тагове, вградени в заглавката. Той също така позволява на разработчиците да пишат PostScript файлове в различни формати, като трансформация в PDF, растерни изображения и конвертиране на PostScript файл в набор от компресирани изображения.

Previous Next

Първи стъпки с Leptonica

Най-лесният начин да инсталирате Leptonica е чрез GitHub. Моля, използвайте следната команда за гладка инсталация

Инсталирайте Leptonica чрез GitHub.

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

Четене и писане на изображения

Библиотеката с отворен код Leptonica дава възможност на разработчиците на софтуер да четат и записват изображения в собствените си приложения. Предоставя няколко важни метода за четене и запис на изображения, като функции от ниско и високо ниво за четене и запис на данни за изображения, функции за четене и запис на файлове с множество изображения, файлове с TIFF тагове, вградени в заглавката, четене на JPEG файлове , четене и писане на PostScript файлове и няколко други функции. Има някои специфични енкодери, които също се поддържат от библиотеката.

Четете изображения чрез библиотека 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();

Мащабиране на изображение чрез C библиотека

Библиотеката с отворен код Leptonica предостави пълна поддръжка за лесно мащабиране на изображения в тяхното собствено C приложение. Има многобройни функции за мащабиране, предоставени от Leptonica, като мащабиране чрез линейна интерполация, намаляване чрез използване на субсемплиране или чрез картографиране на площи, семплиране, 2x и 4x линейно интерполационно мащабиране, целочислено субсемплиране на RGB до сиво или двоично и много други. Освен това се предлага и много бързо мащабиране на двоични изображения и е полезно за анализ на изображения на сканирания двоичен текст.

По-добро завъртане на изображението чрез C библиотека

Библиотеката с отворен код Leptonica е предоставила поддръжка за въртящи се изображения в техните собствени C приложения. Има множество начини за постигане на операция за завъртане на изображението, като завъртане чрез срязване, завъртане чрез картографиране на площ, специално завъртане на 90, 180 или 270 градуса, завъртане с 2 или 3 срязвания и много други.

Завъртане на изображението на 180 градуса чрез 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);
 Български