📄 convolve.cpp
字号:
///////////////////////////////////////////////////////////////////////////
//
// NAME
// Convolve.cpp -- separable and non-separable linear convolution
//
// DESIGN NOTES
// An intermediate row buffer is allocated to fill in the border pixels
// required so that all convolutions are well defined. The row buffer
// is floating point, so that all intermediate results can be computed
// with minimal loss in precision. This also avoids excessive type
// conversion during convolution, since the kernels are floats anyway.
//
// If fixpoint variants are desired for efficiency (e.g., using
// multimedia extensions), then this would have to be modified.
//
// TODO: this current version is not very efficient. For example,
// the separable code uses an intermediate image, instead of just a
// row buffer. Also, downsampling convolution could be more efficient.
//
// SEE ALSO
// Convolve.h longer description of these routines
//
// Copyright
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -