Programowanie w systemie UNIX/libvips/

VIPS


składnikiEdytuj

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

instalacjaEdytuj

narzędziaEdytuj

 sudo apt install libvips-tools


bibliotekaEdytuj

Instalacja w Ubuntu: [1]

 sudo apt install libvips libvips-dev

uruchomianieEdytuj

bibliotekaEdytuj

guiEdytuj

W trybie graficznym:

 nip2


w trybie linii poleceń:[3]

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

narzędziaEdytuj

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

createEdytuj

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

blackEdytuj

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

 vips black b.png 1000 1000 --bands 3

eyeEdytuj

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

worleyEdytuj

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

greyEdytuj

 vips grey g.png 1000 1000 --uchar


gaussnoiseEdytuj

Szum Gaussa ( funkcja vips-gaussnoise


 vips gaussnoise gn.png 1000 1000 

Kod jest w pliku gaussnoise.c

fractsurfEdytuj

fractsurf ( funkcja vips_fractsurf)

 vips fractsurf f.png 1000 1000 2.367409118563 

sinesEdytuj

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


Szum PerlinEdytuj

  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

xyzEdytuj

 vips xyz xyz.png 1000 1000

pomocEdytuj

ŹródłaEdytuj

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