libvips is a demand-driven, horizontally threaded image processing library. Compared to similar libraries, libvips runs quickly and uses little memory. libvips is licensed under the LGPL-2.1-or-later.
It has around 300 operations covering arithmetic, histograms, convolution, morphological operations, frequency filtering, colour, resampling, statistics and others. It supports a large range of numeric types, from 8-bit int to 128-bit complex. Images can have any number of bands. It supports a good range of image formats, including JPEG, JPEG 2000, JPEG XL, TIFF, PNG, WebP, HEIC, AVIF, FITS, Matlab, OpenEXR, PDF, SVG, HDR, PPM / PGM / PFM, CSV, GIF, Analyze, NIfTI, DeepZoom, and OpenSlide. It can also load images via ImageMagick or GraphicsMagick, letting it work with formats like DICOM.
It comes with bindings for C, C++, and the command-line. Full bindings are available for Ruby, Python, PHP, .NET, Go, Lua, and Java. libvips is used as an image processing engine by sharp (on node.js), bimg, sharp for Go, Ruby on Rails, carrierwave-vips, mediawiki, PhotoFlow and others. The official libvips GUI is nip2, a strange combination of a spreadsheet and an photo editor.
The download area has the source code plus pre-compiled binaries for Windows; you can install on macOS with homebrew, MacPorts or Fink; and it’s available in most Linux package managers. See the install notes.
NewsHere’s a summary of what’s new in libvips 8.17. Check the ChangeLog if you need more details.
nip4 is now mostly done so this post tries to introduce this strange tool for people who’ve not come across it before.
The test release of nip4 is now out and it seems to work OK on Linux, Windows and macOS. I thought I’d write a few notes for users of nip2 outlining the big changes and the bits of it that are still missing.
nip4 is pretty much done! It now loads the two largest workspaces I have correctly. I’ll do a bit more polishing and aim for an alpha release with pre-compiled binaries for flatpak and Windows by the end of February.
I’ve done another month on nip4 – plotting is in now, and I’ve done a first version of the new toolkit browser.
libvips.org OpenCollective has generously given me a year of funding to complete nip4. This is an update of the libvips GUI, nip2, to the gtk4 toolkit, and to the vips8 API.
Here’s a summary of what’s new in libvips 8.16. Check the ChangeLog if you need more details.
libvips 8.15 is now done, so here’s a summary of what’s new. Check the ChangeLog if you need more details.
There’s a new version of vipsdisp, a gtk4 image viewer.
This isn’t libvips at all, but I’ve entered a charity bike ride:
libvips 8.14 is now done, so here’s a summary of what’s new. Check the ChangeLog if you need more details.
libvips 8.13 is now done, so here’s a summary of what’s new. Check the ChangeLog if you need more details.
pyvips and php-vips have launched interesting new versions.
Here’s a quick overview of what’s new in libvips 8.12. Check the ChangeLog if you need more details.
libvips 8.11 is now out, so here’s a quick overview of what’s new. Check the ChangeLog if you need more details.
ruby-vips is now at version 2.1 with a few useful bug fixes and an interesting new mutate
feature. This block makes it possible to modify images efficiently and safely.
libvips 8.10 is now out, so here’s a quick overview of what’s new. Check the ChangeLog if you need more details.
libvips 8.9 is now done, so here’s a quick overview of what’s new. Check the ChangeLog if you need more details.
An interesting feature has just landed in libvips git master (and should be in the upcoming libvips 8.9): true streaming. This has been talked about on and off for five years or more, but it’s now finally happened! This post explains what this feature is and why it could be useful.
Thanks to work by Lovell, libvips is now listed on opencollective.
Thanks to work by Sebastian Luna-Valero (@sebastian-luna-valero) and others, pyvips is now in conda!
Thanks to work by Oscar Mira (@omira-sch), libvips has been in OSS Fuzz for about three weeks. I’m very happy to be able to report that only one real bug has been found so far, and none in the last five days.
libvips 8.8 is now officially released, so here’s a quick overview of what’s new. Check the ChangeLog if you need more details.
Here is a quick video on getting started with nip
I gave a 15m introduction to vips talk at LGM 2016, and just came across the video. It might be interesting.
libvips 8.7 is finally done!
There’s a new full libvips binding for .NET. It has a test-suite which passes with no memory leaks, it’s in NuGet
, so it’s easy to install on Linux, macOS and Windows, and it has nice documentation:
libvips 8.6 is done! Though it’s a bit late. This post summarizes what’s new – check the ChangeLog if you need more details.
There’s a new major release of ruby-vips
, the Ruby binding for libvips: it’s now version 2.0. It has the same API (it passes the same test suite), but it’s simpler to install, works on Linux, macOS and Windows, it works with any Ruby (including JRuby), it’s smaller, more stable, and faster.
There’s a new libvips binding for Python. It has the same API as the one that comes with libvips (it passes the same test suite), it’s very easy to install on Linux, macOS and Windows, it works with any Python, it should be smaller and more stable, and it has nice new documentation:
LuaJIT now has a full libvips binding. It’s the whole of libvips, it has a test-suite which passes with no memory leaks, and it’s in luarocks
so it’s easy to install.
We have a new website running from github pages. Hopefully this will be easier to use and less work to maintain.
libvips 8.5 is done! This post summarizes what’s new in this release. Check the ChangeLog if you need more details.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4