Turi Create  4.0
convolve.hpp File Reference

2D seperable convolutions and correlations / / More...

#include <cstddef>
#include <cassert>
#include <algorithm>
#include <vector>
#include <functional>
#include "../../gil_config.hpp"
#include "../../image_view_factory.hpp"
#include "../../algorithm.hpp"
#include "../../metafunctions.hpp"
#include "pixel_numeric_operations.hpp"
#include "algorithm.hpp"

Go to the source code of this file.

Enumerations

enum  boost::gil::convolve_boundary_option { , boost::gil::convolve_option_output_zero, boost::gil::convolve_option_extend_padded, boost::gil::convolve_option_extend_zero, boost::gil::convolve_option_extend_constant }
 

Functions

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView , typename Correlator >
void boost::gil::detail::correlate_rows_imp (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option, Correlator correlator)
 compute the correlation of 1D kernel with the rows of an image
 
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::correlate_rows (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option=convolve_option_extend_zero)
 
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::correlate_cols (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option=convolve_option_extend_zero)
 
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::convolve_rows (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option=convolve_option_extend_zero)
 
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::convolve_cols (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option=convolve_option_extend_zero)
 
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::correlate_rows_fixed (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option=convolve_option_extend_zero)
 
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::correlate_cols_fixed (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option=convolve_option_extend_zero)
 
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::convolve_rows_fixed (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option=convolve_option_extend_zero)
 
template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::convolve_cols_fixed (const SrcView &src, const Kernel &ker, const DstView &dst, convolve_boundary_option option=convolve_option_extend_zero)
 

Detailed Description

2D seperable convolutions and correlations / /

/ /

Author
Hailin Jin and Lubomir Bourdev
/ Adobe Systems Incorporated /
Date
2005-2007
Last updated on February 6, 2007

Definition in file convolve.hpp.

Enumeration Type Documentation

◆ convolve_boundary_option

Boundary options for 1D correlations/convolutions

Enumerator
convolve_option_output_zero 

do nothing to the output

convolve_option_extend_padded 

set the output to zero

convolve_option_extend_zero 

assume the source boundaries to be padded already

convolve_option_extend_constant 

assume the source boundaries to be zero

assume the source boundaries to be the boundary value

Definition at line 43 of file convolve.hpp.

Function Documentation

◆ convolve_cols()

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::convolve_cols ( const SrcView &  src,
const Kernel &  ker,
const DstView &  dst,
convolve_boundary_option  option = convolve_option_extend_zero 
)

convolve a 1D variable-size kernel along the columns of an image

Definition at line 178 of file convolve.hpp.

◆ convolve_cols_fixed()

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::convolve_cols_fixed ( const SrcView &  src,
const Kernel &  ker,
const DstView &  dst,
convolve_boundary_option  option = convolve_option_extend_zero 
)

convolve a 1D fixed-size kernel along the columns of an image

Definition at line 214 of file convolve.hpp.

◆ convolve_rows()

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::convolve_rows ( const SrcView &  src,
const Kernel &  ker,
const DstView &  dst,
convolve_boundary_option  option = convolve_option_extend_zero 
)

convolve a 1D variable-size kernel along the rows of an image

Definition at line 169 of file convolve.hpp.

◆ convolve_rows_fixed()

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::convolve_rows_fixed ( const SrcView &  src,
const Kernel &  ker,
const DstView &  dst,
convolve_boundary_option  option = convolve_option_extend_zero 
)

convolve a 1D fixed-size kernel along the rows of an image

Definition at line 205 of file convolve.hpp.

◆ correlate_cols()

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::correlate_cols ( const SrcView &  src,
const Kernel &  ker,
const DstView &  dst,
convolve_boundary_option  option = convolve_option_extend_zero 
)

correlate a 1D variable-size kernel along the columns of an image

Definition at line 160 of file convolve.hpp.

◆ correlate_cols_fixed()

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::correlate_cols_fixed ( const SrcView &  src,
const Kernel &  ker,
const DstView &  dst,
convolve_boundary_option  option = convolve_option_extend_zero 
)

correlate a 1D fixed-size kernel along the columns of an image

Definition at line 196 of file convolve.hpp.

◆ correlate_rows()

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::correlate_rows ( const SrcView &  src,
const Kernel &  ker,
const DstView &  dst,
convolve_boundary_option  option = convolve_option_extend_zero 
)

correlate a 1D variable-size kernel along the rows of an image

Definition at line 151 of file convolve.hpp.

◆ correlate_rows_fixed()

template<typename PixelAccum , typename SrcView , typename Kernel , typename DstView >
void boost::gil::correlate_rows_fixed ( const SrcView &  src,
const Kernel &  ker,
const DstView &  dst,
convolve_boundary_option  option = convolve_option_extend_zero 
)

correlate a 1D fixed-size kernel along the rows of an image

Definition at line 187 of file convolve.hpp.