📄 qccfastdct.3
字号:
.TH QCCFASTDCT 3 "QCCPACK" "".SH NAMEQccFastDCT\- one-dimensional and two-dimensional discrete cosine transform (DCT)and inverse tranform using a fast implementation.SH SYNOPSIS.B #include "libQccPack.h".sp.BI "int QccFastDCTInitialize(QccFastDCT *" transform );.br.BI "int QccFastDCTCreate(QccFastDCT *" transform ", int " length );.br.BI "void QccFastDCTFree(QccFastDCT *" transform );.br.sp.BI "int QccFastDCTForwardTransform1D(const QccVector " input_signal ", QccVector " output_signal ", int " length ", const QccFastDCT *" transform );.br.BI "int QccFastDCTInverseTransform1D(const QccVector " input_signal ", QccVector " output_signal ", int " length ", const QccFastDCT *" transform );.br.sp.BI "int QccFastDCTForwardTransform2D(const QccMatrix " input_block ", QccMatrix " output_block ", int " num_rows ", int " num_cols ", const QccFastDCT *" transform_horizontal ", const QccFastDCT *" transform_vertical );.br.BI "int QccFastDCTInverseTransform2D(const QccMatrix " input_block ", QccMatrix " output_block ", int " num_rows ", int " num_cols ", const QccFastDCT *" transform_horizontal ", const QccFastDCT *" transform_vertical );.SH DESCRIPTIONThese routines implement a type-II DCT transform using a fast FFT-basedimplementation..LPThe DCT transform, a.BR QccFastDCTstructure, must be initialized and created before use. Specifically,.BR QccFastDCTInitialize()should be called before any use of a.BR QccFastDCTstructure. Then,.BR QccFastDCTCreate()is called to setup the transform for the desired.IR length ..LP.BR QccFastDCTForwardTransform1D()and.BR QccFastDCTInverseTransform1D()implement the forward and inverse transforms for a 1D signal.The specified signal.IR length must match the length of the specified.IR transform ..LP.BR QccFastDCTForwardTransform2D()and.BR QccFastDCTInverseTransform2D()implement the forward and inverse transforms for a 2D block..IR transform_horizontalis applied horizontally across the columns of the block;.IR transform_verticalis applied vertically across the rows of the block.The size of the block must match the lengths of thetransforms; specifically,.IR num_rowsmust match the length of.IR transform_vertical ,and.IR num_colsmust match the length of.IR transform_horizontal ..SH "RETURN VALUE"These routines return 0 on success, 1 on error..SH IMPLEMENTATIONThese routines implement the type-II DCT; the implementation is based on a fast FFT-based implementation as described byJain. However, these routinesrely on the GNU Scientific Library (GSL) for the FFT, so,if GSL is not available, one should use the slowerroutines.BR QccVectorDCT (3)and.BR QccMatrixDCT (3) ..SH "SEE ALSO".BR QccVectorDCT (3),.BR QccMatrixDCT (3),.BR QccVector (3),.BR QccPack (3)A. K. Jain,.IR "Fundamentals of Digital Image Processing" .Englewood Cliffs, NJ: Prentice Hall, 1989..SH AUTHORCopyright (C) 1997-2009 James E. Fowler.\" The programs herein are free software; you can redistribute them an.or.\" modify them under the terms of the GNU General Public License.\" as published by the Free Software Foundation; either version 2.\" of the License, or (at your option) any later version..\" .\" These programs are distributed in the hope that they will be useful,.\" but WITHOUT ANY WARRANTY; without even the implied warranty of.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the.\" GNU General Public License for more details..\" .\" You should have received a copy of the GNU General Public License.\" along with these programs; if not, write to the Free Software.\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -