dlib C++ Library - Imaging

The Library

- Algorithms
- API Wrappers
- Compression
- Containers
- Imaging
- Metaprogramming
- Miscellaneous
- Network
- Parsing

Help/Info

- Examples
  - Base64_Encoder
  - Bayesian_Network
  - Bayesian_Network_From_Disk
  - Bayesian_Network_GUI
  - Cmd_Line_Parser
  - Compress_Stream
  - Directory_Navigation
  - GUI
  - HTTP_Server
  - Image
  - Kernel_Centroid
  - Kernel_K-Means_Clustering
  - Kernel_RLS_Filtering
  - Kernel_RLS_Regression
  - Logger
  - Logger_Advanced
  - Matrix
  - Member_Function_Pointer
  - Multithreaded_Object
  - Neural_Network
  - Pipe
  - Queue
  - Rank_Features
  - Relevance_Vector_Classification
  - Relevance_Vector_Regression
  - Sockets
  - Sockets_2
  - Sockstreambuf
  - Std_C++_Allocator
  - Support_Vector_Machine
  - Threaded_Object
  - Threads
  - Thread_Function
  - Thread_Pool
  - Timer
  - XML_Parser
- Home
- How to compile
- Index
- Introduction
- License

Current Release

- Change Log
- Release Notes
- Version: 17.12

Last Modified: Nov 10, 2008

# Imaging

This page documents the functionality present in this library that deals with the management and manipulation of images. One thing to note is that there is no explicit image object. Instead, everything deals with array2d objects that contain various kinds of pixels.

Objects

- hsi_pixel
- pixel_traits
- png_loader
- rgb_alpha_pixel
- rgb_pixel

Global Functions

- assign_all_pixels
- assign_border_pixels
- assign_image
- assign_pixel
- assign_pixel_intensity
- auto_threshold_image
- binary_close
- binary_complement
- binary_difference
- binary_dilation
- binary_erosion
- binary_intersection
- binary_open
- binary_union
- draw_line
- edge_orientation
- equalize_histogram
- get_histogram
- get_pixel_intensity
- hysteresis_threshold
- load_bmp
- load_dng
- save_bmp
- save_dng
- sobel_edge_detector
- spatially_filter_image
- suppress_non_maximum_edges
- threshold_image
- zero_border_pixels

[top]

# assign_all_pixels

This global function assigns all the pixels in an image a specific value.
Specification: dlib/image_transforms/assign_image_abstract.h
File to include: dlib/image_transforms.h
[top]

# assign_border_pixels

This global function assigns all the pixels in the border of an image to a specific value.
Specification: dlib/image_transforms/assign_image_abstract.h
File to include: dlib/image_transforms.h
[top]

# assign_image

This global function copies one image into another and performs any necessary color space conversions to make it work right.
Specification: dlib/image_transforms/assign_image_abstract.h
File to include: dlib/image_transforms.h
[top]

# assign_pixel

assign_pixel() is a templated function that can assign any pixel type to another pixel type. It will perform whatever conversion is necessary to make the assignment work. (E.g. color to grayscale conversion)
Specification: dlib/pixel.h
File to include: dlib/pixel.h
[top]

# assign_pixel_intensity

assign_pixel_intensity() is a templated function that can change the intensity of a pixel. So if the pixel in question is a grayscale pixel then it simply assigns that pixel the given value. However, if the pixel is not a grayscale pixel then it converts the pixel to the HSI color space and sets the I channel to the given intensity and then converts this HSI value back to the original pixel's color space.
Specification: dlib/pixel.h
File to include: dlib/pixel.h
[top]

# auto_threshold_image

This global function performs a simple binary thresholding on an image with a user supplied threshold. However, instead of taking a user supplied threshold it computes one from the image using k-means clustering.
Specification: dlib/image_transforms/thresholding_abstract.h
File to include: dlib/image_transforms.h
[top]

# binary_close

This global function performs a morphological closing on an image.
Specification: dlib/image_transforms/morphological_operations_abstract.h
File to include: dlib/image_transforms.h
[top]

# binary_complement

This global function computes the complement of a binary image.
Specification: dlib/image_transforms/morphological_operations_abstract.h
File to include: dlib/image_transforms.h
[top]

# binary_difference

This global function computes the difference of two binary images.
Specification: dlib/image_transforms/morphological_operations_abstract.h
File to include: dlib/image_transforms.h
[top]

# binary_dilation

This global function performs the morphological operation of dilation on an image.
Specification: dlib/image_transforms/morphological_operations_abstract.h
File to include: dlib/image_transforms.h
[top]

# binary_erosion

This global function performs the morphological operation of erosion on an image.
Specification: dlib/image_transforms/morphological_operations_abstract.h
File to include: dlib/image_transforms.h
[top]

# binary_intersection

This global function computes the intersection of two binary images.
Specification: dlib/image_transforms/morphological_operations_abstract.h
File to include: dlib/image_transforms.h
[top]

# binary_open

This global function performs a morphological opening on an image.
Specification: dlib/image_transforms/morphological_operations_abstract.h
File to include: dlib/image_transforms.h
[top]

# binary_union

This global function computes the union of two binary images.
Specification: dlib/image_transforms/morphological_operations_abstract.h
File to include: dlib/image_transforms.h
[top]

# draw_line

This global function draws a line onto an image.
Specification: dlib/image_transforms/draw_abstract.h
File to include: dlib/image_transforms.h
[top]

# edge_orientation

This global function takes horizontal and vertical gradient magnitude values and returns the orientation of the gradient.
Specification: dlib/image_transforms/edge_detector_abstract.h
File to include: dlib/image_transforms.h
[top]

# equalize_histogram

This global function performs histogram equalization on an image.
Specification: dlib/image_transforms/equalize_histogram_abstract.h
File to include: dlib/image_transforms.h
[top]

# get_histogram

This global function computes an image's histogram and returns it in the form of a column or row matrix object.
Specification: dlib/image_transforms/equalize_histogram_abstract.h
File to include: dlib/image_transforms.h
[top]

# get_pixel_intensity

get_pixel_intensity() is a templated function that returns the grayscale intensity of a pixel. If the pixel isn't a grayscale pixel then it converts the pixel to the HSI color space and returns the obtained intensity value.
Specification: dlib/pixel.h
File to include: dlib/pixel.h
[top]

# hsi_pixel

This is a simple struct that represents an HSI colored graphical pixel. Note that since this is just a struct with no member functions there is only one "implementation" of this object.
Specification: dlib/pixel.h
File to include: dlib/pixel.h
[top]

# hysteresis_threshold

This global function performs hysteresis thresholding on an image.
Specification: dlib/image_transforms/thresholding_abstract.h
File to include: dlib/image_transforms.h
[top]

# load_bmp

This global function loads a MS Windows BMP file into an array2d of pixels.
Specification: dlib/image_loader/image_loader_abstract.h
File to include: dlib/image_io.h
Code Examples: 1
[top]

# load_dng

This global function loads a dlib DNG file (a lossless compressed image format) into an array2d of pixels.
Specification: dlib/image_loader/image_loader_abstract.h
File to include: dlib/image_io.h
[top]

# pixel_traits

As the name implies, this is a traits class for pixel types. It allows you to determine what sort of pixel type you are dealing with.
Specification: dlib/pixel.h
File to include: dlib/pixel.h
[top]

# png_loader

This object loads a Portable Network Graphics (PNG) image file into an array2d of pixels.

Note that you must define DLIB_PNG_SUPPORT if you want to use this object. You must also set your build environment to link to the libpng library.

Specification: dlib/image_loader/png_loader_abstract.h
File to include: dlib/image_io.h
[top]

# rgb_alpha_pixel

This is a simple struct that represents an RGB colored graphical pixel with an alpha channel. Note that since this is just a struct with no member functions there is only one "implementation" of this object.
Specification: dlib/pixel.h
File to include: dlib/pixel.h
[top]

# rgb_pixel

This is a simple struct that represents an RGB colored graphical pixel. Note that since this is just a struct with no member functions there is only one "implementation" of this object.
Specification: dlib/pixel.h
File to include: dlib/pixel.h
[top]

# save_bmp

This global function writes an image out to an ostream as a MS Windows BMP file.
Specification: dlib/image_saver/image_saver_abstract.h
File to include: dlib/image_io.h
[top]

# save_dng

This global function writes an image out to an ostream as a dlib DNG file (a lossless compressed image format).
Specification: dlib/image_saver/image_saver_abstract.h
File to include: dlib/image_io.h
[top]

# sobel_edge_detector

This global function performs spatial filtering on an image using the sobel edge detection filters.
Specification: dlib/image_transforms/edge_detector_abstract.h
File to include: dlib/image_transforms.h
Code Examples: 1
[top]

# spatially_filter_image

This global function performs spatial filtering on an image with a user supplied filter.
Specification: dlib/image_transforms/spatial_filtering_abstract.h
File to include: dlib/image_transforms.h
[top]

# suppress_non_maximum_edges

This global function performs non-maximum suppression on a gradient image.
Specification: dlib/image_transforms/edge_detector_abstract.h
File to include: dlib/image_transforms.h
Code Examples: 1
[top]

# threshold_image

This global function performs a simple binary thresholding on an image with a user supplied threshold.
Specification: dlib/image_transforms/thresholding_abstract.h
File to include: dlib/image_transforms.h
[top]

# zero_border_pixels

This global function zeros the pixels on the border of an image.
Specification: dlib/image_transforms/assign_image_abstract.h
File to include: dlib/image_transforms.h