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

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.

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

 vips black b.png 1000 1000 --bands 3
 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

 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 
 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
 vips xyz xyz.png 1000 1000

Źródła

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