Programowanie w systemie UNIX/libvips/

Z Wikibooks, biblioteki wolnych podręczników.

VIPS


składniki[edytuj]

  • libvips - biblioteka
  • libvips-tools - narzędzi uruchomiane z linii poleceń
  • nip2 - GUI

instalacja[edytuj]

narzędzia[edytuj]

 sudo apt install libvips-tools


biblioteka[edytuj]

Instalacja w Ubuntu: [1]

 sudo apt install libvips libvips-dev

uruchomianie[edytuj]

biblioteka[edytuj]

gui[edytuj]

W trybie graficznym:

 nip2


w trybie linii poleceń:[3]

 nip2 -e 'mean (Image_file "w.png")'

narzędzia[edytuj]

Sprawdzamy wersję:

 vips -v

Przykładowy wynik:

 vips-8.9.1-Sun Feb 23 08:51:26 UTC 2020


Lista poleceń:

 vips -l >vips.txt

W wynku otrzymamy około 300 opcji

create[edytuj]

Tworzenie plików testowych. Program nie tworzy plikóœ OpenEXR.

black[edytuj]

Tworzy plik b.png z 3 bajtowym kolorem (3bands = RBG)

 vips black b.png 1000 1000 --bands 3

eye[edytuj]

 vips eye e.png 1000 1000 --factor 0.1  --uchar

worley[edytuj]

Tworzymy plik w.png wielkości 1000x1000 pixeli zawierający szum Worleya

 vips vipsworley w.png  1000 1000
Szum Worleya

Kod żródłowy polecenia Worley jest na GitHubie

grey[edytuj]

 vips grey g.png 1000 1000 --uchar


gaussnoise[edytuj]

Szum Gaussa ( funkcja vips-gaussnoise


 vips gaussnoise gn.png 1000 1000 

Kod jest w pliku gaussnoise.c

fractsurf[edytuj]

fractsurf ( funkcja vips_fractsurf)

 vips fractsurf f.png 1000 1000 2.367409118563 

sines[edytuj]

 vips sines s.png 1000 1000  --hfreq 3.345 --vfreq 1.7556 --uchar


Szum Perlin[edytuj]

  vips perlin p.png 1000 1000  --uchar --cell-size 16

Ostatnim parametrem jest wymiar fraktalny ( ang. fractal_dimension). Jest to:

  • liczba zmiannoprzecinkowa o podwójnej precyzji ( double)
  • wymiar powinien być w zakresie od 2 do 3

xyz[edytuj]

 vips xyz xyz.png 1000 1000

pomoc[edytuj]

Źródła[edytuj]

  1. libvips wiki: Build-for-Ubuntu
  2. libvips API: using-from-c.html
  3. libvips wiki: Hello-World