Boost Generic Image Library - Boost.GIL 1.0 documentation

###  | #  |

# Boost Generic Image Library

The Generic Image Library (GIL) is a C++ library that abstracts image representations from algorithms and allows writing code that can work on a variety of images with performance similar to hand-writing for a specific image type.

- Tutorial
  - Installation
  - Video Lecture by Lubomir Bourdev
  - Example - Computing the Image Gradient
  - Appendix
- IO extensions
  - Overview
  - Supported Platforms
  - Tutorial
  - Using IO
  - Running gil::io tests
- ToolBox extension
  - Overview
  - Folder Structure
  - Acknowledgements
  - Reference
- Numeric extension
  - Overview
- Design Guide
  - Overview
  - About Concepts
  - Point
  - Channel
  - Color Space and Layout
  - Color Base
  - Pixel
  - Pixel Iterator
  - Image View
  - Image
  - Run-time specified images and image views
  - Useful Metafunctions and Typedefs
  - I/O Extension
  - Sample Code
  - Extending the Generic Image Library
  - Technicalities
  - Conclusion
- API Reference

## Sample files

- `x_gradient.cpp`: Writing an algorithm that operates on generic images
- `dynamic_image.cpp`: Using images whose properties (color space, channel type) are specified at run time
- `histogram.cpp`: Creating a histogram
- `interleaved_ptr.cpp`, `interleaved_ptr.hpp`, `interleaved_ref.hpp`: Creating your own pixel reference and pixel iterator
- `mandelbrot.cpp`: Creating a synthetic image defined by a function
- `packed_pixel.cpp`: Defining bitmasks and images whose channels or pixels are not byte-aligned
- `resize.cpp`: Rescaling an image using bilinear sampling (requires the optional Numeric extension)
- `affine.cpp`: Applying an affine transformation to an image (requires the optional Numeric extension)
- `convolution.cpp`: Blurring images (requires the optional Numeric extension)