What is it?
VIPS is a free image processing system. It includes a range of filters, arithmetic operations, colour processing, histograms, and geometric transforms. It supports ten pixel formats, from 8-bit unsigned int to 128-bit complex. As well as the usual JPEG, TIFF, PNG and WebP images, it also supports scientific formats like FITS, OpenEXR, Matlab, Analyze, PFM, Radiance, OpenSlide and DICOM (via libMagick). Compared to similar libraries, VIPS is fast and does not need much memory, see the Speed and Memory Use page.
It comes in two main parts: libvips is the image-processing library and nip2 is the graphical user-interface. libvips has a simple GObject-based API and comes with interfaces for C, C++, the command-line and Python. Other bindings have been made, including Ruby and Go. libvips is used as an image processing engine by sharp (on node.js), carrierwave-vips, mediawiki, photoflow and others.
The official VIPS GUI, nip2, aims to be about half-way between Photoshop and Excel. It is very bad at retouching photographs, but very handy for the many other imaging tasks that programs like Photoshop are used for.
Both work on Linux/Unix (with convenient packages for most popular distributions, see links), Windows XP and later and MacOS 10.2 and later.
libvips is licensed under the LGPL and nip2 is licensed under the GPL, see http://www.gnu.org. This means you can use libvips in commercial or closed-source software, but that if you distribute a copy of libvips, you must offer a download of the libvips sources on your website somewhere, you need to tell your users that they are using something based in part on free software (perhaps a note in your help system), and if you directly modify the libvips sources in any way, you must release the source to your changes.
- Download and install the current supported version for Windows, Build_on_OS_X or as source code. Most Unix systems have vips available through their package manager. Homebrew, Fink, and Macports all have packages. See What's New in 8.2 for an introduction to this version.
- Read about and download the sources for the current development version.
VIPS aims for a six-month development cycle. See the Development pages for notes on how to work on the code yourself.
- libvips documentation
- It includes a detailed description of the whole API, tutorial sections on the command-line, C, C++ and Python interfaces, how to extend libvips and how to write your own binding.
- Function list
- Every libvips operator in a big table you can search, handy for finding a function for a certain task.
- The vips blog
- Has news about vips and posts about using the system.
- https://github.com/jcupitt/libvips and https://github.com/jcupitt/nip2
- All of the sourcecode and the build systems.
If you need docs on the old vips7 API, see the vips-7.24 docs area.
Here are some quick guides to introduce nip2, the VIPS GUI. These guides are part of the nip2 manual: click Help / Contents (or press F1) to view the guide while using the program.
- Quick interface tour
- Runs quickly though some easy stuff to show how the interface works.
- Infrared reflectogram mosaic tour
- Explains how to use nip2 to build reflectogram mosaics.
- Nerd tour
- Goes into some detail about the insides of nip2 and how to program your own widgets.
There's a VIPS mailing list for announcements. Go to this page for subscription details and the list archive.
The Contact page has the names and addresses of the maintainers.
- Maintainers and the mailing list.
- Related sites, pages about VIPS, people who use VIPS.
- What's New in 8.2
- We've just released 8.2, a fancy new version. This page explains what's new in headline form.
- Hello World
- Minimal programs using VIPS, handy for testing.
- Various HOWTO guides, including building on windows.
- How VIPS came to be.
- Quick introduction to the library.
- Quick overview of the graphical user interface.
- Results from the vips