-
Notifications
You must be signed in to change notification settings - Fork 0
centreborelli/gblurs
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
GBLURS ====== A sh and python interface to all Gaussian blurs. Wait, wait. I'm worried what you just heard was, "an interface to a lot of Gaussian blurs". What I said was "an interface to all the Gaussian blurs." Do you understand? This program lets you run all Gaussian blurs with a unified interface. The parameter σ is scaled to mean the same thing across all implementations. By default the boundary conditions are whatever each implementation does by default. A facility for arbitrary boundary condtions is given as a wrapper. The program has no dependencies in itself, but calling it with each method requires that you have installed the corresponding dependency. For example, if you don't have "gimp", then gimps' Gaussian blur won't be available. Any publicly available Gaussian blur that has no interface here is considered a bug. shell usage ----------- gblurs borelli -i in.png -o out.npy -s 14 gblurs skimage -i in.png -o out.npy -s 14 gblurs opencv -i in.png -o out.npy -s 14 gblurs torch -i in.png -o out.npy -s 14 python usage ------------ ! pip install gblurs # via the universal accessor G from gblurs import G y = G("borelli", x, 14) y = G("skimage", x, 14) y = G("opencv", x, 14) y = G("torch", x, 14) # via individual functions from gblurs import gblur_borelli # etc list of all blurs ----------------- ID | implementation ----------+--------------------------------------------------------------- borelli | built-in, using numpy.fft.fft2 torch | torchvision.transforms.GaussianBlur(kernel_size=(n,n) sigma=s) tfm | tensorflow_models.vision.augment.gaussian_filter2d(x, n, s) keras | tensorflow keras RandomGaussianBlur pix | dm_pix.gaussia_blur(x, s, n) # part of JAX pillow | x.filter(PIL.ImageFilger.GaussianBlur(s)) scipy | scipy.ndimage.gaussian_filter(x, sigma=(s,s,0)) opencv | cv2.GaussianBlur(x, (0,0), s) skimage | skimage.filters.gaussian(x, sigma=s, channel_axis=-1) vips | x.gaussblur(s) ymscript | ymscript.gauss(x, s) imagick | mogrify -gaussian 0x$s gmic | gmic -blur $s ffmpeg | ffmpeg -filter_complex "gblur=sigma=$s" gimp | (plug-in-gauss 1 img layer {s} {s} 0) krita | app.filter("gaussian blur") # inside krita scripter rust | imagecli -p "gaussian $s" octave | imsmooth(x, "Gaussian", s); julia | imfilter(x, Kernel.gaussian(s)) Missing (considered as bugs) ----------------------------- ID | status ----------+-------------------------------------------- darktable | trouble with b64encode inside xml filter file pnm | not yet implemented megawave | not yet implemented scilab | not yet implemented
About
shell and python interface to all gaussian blurs
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published