Programowanie w systemie UNIX/libvips/

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