src/qvipp/qvipp.h

Go to the documentation of this file.
00001 /*
00002  *      Copyright (C) 2007. PARP Research Group.
00003  *      <http://perception.inf.um.es>
00004  *      University of Murcia, Spain.
00005  *
00006  *      This file is part of the QVision library.
00007  *
00008  *      QVision is free software: you can redistribute it and/or modify
00009  *      it under the terms of the GNU Lesser General Public License as
00010  *      published by the Free Software Foundation, version 3 of the License.
00011  *
00012  *      QVision is distributed in the hope that it will be useful,
00013  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *      GNU Lesser General Public License for more details.
00016  *
00017  *      You should have received a copy of the GNU Lesser General Public
00018  *      License along with QVision. If not, see <http://www.gnu.org/licenses/>.
00019  */
00020 
00024 
00025 #ifndef QVIPP_H
00026 #define QVIPP_H
00027 
00028 #include <qvcore/qvimage.h>
00029 #include <QMap>
00030 
00038 void Copy(const QVImage<uChar, 1> &src, QVImage<uChar, 1> &dest);
00039 
00043 void Copy(const QVImage<sShort, 1> &src, QVImage<sShort, 1> &dest);
00044 
00048 void Copy(const QVImage<sFloat, 1> &src, QVImage<sFloat, 1> &dest);
00049 
00053 void Copy(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest);
00054 
00058 void Copy(const QVImage<sShort, 3> &src, QVImage<sShort, 3> &dest);
00059 
00063 void Copy(const QVImage<sFloat, 3> &src, QVImage<sFloat, 3> &dest);
00064 
00073 void Copy(const QVImage<uChar, 1> &src, QVImage<uChar, 3> &dest);
00074 
00078 void Copy(const QVImage<sShort, 1> &src, QVImage<sShort, 3> &dest);
00079 
00083 void Copy(const QVImage<sFloat, 1> &src, QVImage<sFloat, 3> &dest);
00084 
00095 void Copy(const QVImage<uChar, 1> &src1, const QVImage<uChar, 1> &src2, const QVImage<uChar, 1> &src3, QVImage<uChar, 3> &dest);
00096 
00100 void Copy(const QVImage<sShort, 1> &src1, const QVImage<sShort, 1> &src2, const QVImage<sShort, 1> &src3, QVImage<sShort, 3> &dest);
00101 
00105 void Copy(const QVImage<sFloat, 1> &src1, const QVImage<sFloat, 1> &src2, const QVImage<sFloat, 1> &src3, QVImage<sFloat, 3> &dest);
00106 
00116 void Copy(const QVImage<uChar, 3> &src, QVImage<uChar, 1> &dest, uChar channel);
00117 
00121 void Copy(const QVImage<sShort, 3> &src, QVImage<sShort, 1> &dest, uChar channel);
00122 
00126 void Copy(const QVImage<sFloat, 3> &src, QVImage<sFloat, 1> &dest, uChar channel);
00127 
00145 void Compare(const QVImage<uChar> &src1, const QVImage<uChar> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq);
00146 
00150 void Compare(const QVImage<sShort> &src1, const QVImage<sShort> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq);
00151 
00155 void Compare(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq);
00156 
00160 void Compare(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq);
00161 
00165 void Compare(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq);
00166 
00170 void Compare(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq);
00171 
00191 void CompareC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, IppCmpOp ippCmpOp = ippCmpEq);
00192 
00196 void CompareC(const QVImage<sFloat> &src, QVImage<uChar> &dest, sFloat constant, IppCmpOp ippCmpOp = ippCmpEq);
00197 
00206 void Convert(const QVImage<uChar, 1> &src, QVImage<sShort, 1> &dest);
00207 
00211 void Convert(const QVImage<uChar, 1> &src, QVImage<sFloat, 1> &dest);
00212 
00216 void Convert(const QVImage<sShort, 1> &src, QVImage<uChar, 1> &dest);
00217 
00221 void Convert(const QVImage<sShort, 1> &src, QVImage<sFloat, 1> &dest);
00222 
00226 void Convert(const QVImage<uChar, 3> &src, QVImage<sShort, 3> &dest);
00227 
00231 void Convert(const QVImage<uChar, 3> &src, QVImage<sFloat, 3> &dest);
00232 
00236 void Convert(const QVImage<sShort, 3> &src, QVImage<uChar, 3> &dest);
00237 
00241 void Convert(const QVImage<sShort, 3> &src, QVImage<sFloat, 3> &dest);
00242 
00256 void Convert(const QVImage<sFloat, 1> &src, QVImage<uChar, 1> &dest, IppRoundMode roundMode = ippRndNear);
00257 
00261 void Convert(const QVImage<sFloat, 1> &src, QVImage<sShort, 1> &dest, IppRoundMode roundMode = ippRndNear);
00262 
00266 void Convert(const QVImage<sFloat, 3> &src, QVImage<uChar, 3> &dest, IppRoundMode roundMode = ippRndNear);
00267 
00271 void Convert(const QVImage<sFloat, 3> &src, QVImage<sShort, 3> &dest, IppRoundMode roundMode = ippRndNear);
00272 
00284 void RGBToGray(const QVImage<uChar, 3> &src, QVImage<uChar, 1> &dest);
00285 
00289 void RGBToGray(const QVImage<sShort, 3> &src, QVImage<sShort, 1> &dest);
00290 
00294 void RGBToGray(const QVImage<sFloat, 3> &src, QVImage<sFloat, 1> &dest);
00295 
00314 void Threshold(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, IppCmpOp ippCmpOp = ippCmpEq);
00315 
00319 void Threshold(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, IppCmpOp ippCmpOp = ippCmpEq);
00320 
00324 void Threshold(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant, IppCmpOp ippCmpOp = ippCmpEq);
00325 
00333 void Set(QVImage<uChar> &img, uChar constant);
00334 
00338 void Set(QVImage<sShort> &img, sShort constant);
00339 
00343 void Set(QVImage<sFloat> &img, sFloat constant);
00344 
00355 void Set(QVImage<uChar, 3> &img, uChar red, uChar green, uChar blue);
00356 
00360 void Set(QVImage<sShort, 3> &img, sShort red, sShort green, sShort blue);
00361 
00365 void Set(QVImage<sFloat, 3> &img, sFloat red, sFloat green, sFloat blue);
00366 
00372 void Abs(const QVImage<sShort> &src, QVImage<sShort> &dest);
00373 
00377 void Abs(const QVImage<sFloat> &src, QVImage<sFloat> &dest);
00378 
00379 // boolean
00385 void Not(const QVImage<uChar> &src, QVImage<uChar> &dest);
00386 
00390 void Not(const QVImage<uChar,3> &src, QVImage<uChar,3> &dest);
00391 
00398 void OrC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant);
00399 
00406 void AndC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant);
00407 
00414 void XorC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant);
00415 
00422 void LShiftC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant);
00423 
00424 /*/// @brief Shifts bits in pixel values to the left.
00427 void LShiftC(const QVImage<uShort> &src, QVImage<uShort> &dest, uChar constant);*/
00428 
00435 void RShiftC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant);
00436 
00437 /*/// @brief Computes the exponential of pixel values in a image.
00443 void ExpC(const QVImage<sShort> &src, QVImage<sShort> &dest, uChar constant);*/
00444 
00445 
00446 /*/// @brief Shifts bits in pixel values to the left.
00449 void RShiftC(const QVImage<uShort> &src, QVImage<uShort> &dest, uChar constant);*/
00450 
00451 // aritmetic
00467 void Add(const QVImage<uChar> &src1, const QVImage<uChar> &src2, QVImage<uChar> &dest, int scale = 1);
00468 
00472 void Add(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2, QVImage<uChar,3> &dest, int scale = 1);
00473 
00477 void Add(const QVImage<sShort> &src1, const QVImage<sShort> &src2, QVImage<sShort> &dest, int scale = 1);
00478 
00482 void Add(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2, QVImage<sShort,3> &dest, int scale = 1);
00483 
00487 void Add(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2, QVImage<sFloat> &dest);
00488 
00492 void Add(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2, QVImage<sFloat,3> &dest);
00493 
00509 void Sub(const QVImage<uChar> &src1, const QVImage<uChar> &src2,QVImage<uChar> &dest, int scale = 1);
00510 
00514 void Sub(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2,QVImage<uChar,3> &dest, int scale = 1);
00515 
00519 void Sub(const QVImage<sShort> &src1, const QVImage<sShort> &src2,QVImage<sShort> &dest, int scale = 1);
00520 
00524 void Sub(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2,QVImage<sShort,3> &dest, int scale = 1);
00525 
00529 void Sub(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2,QVImage<sFloat> &dest);
00530 
00534 void Sub(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2,QVImage<sFloat,3> &dest);
00535 
00551 void Mul(const QVImage<uChar> &src1, const QVImage<uChar> &src2,QVImage<uChar> &dest, int scale = 1);
00552 
00556 void Mul(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2,QVImage<uChar,3> &dest, int scale = 1);
00557 
00561 void Mul(const QVImage<sShort> &src1, const QVImage<sShort> &src2,QVImage<sShort> &dest, int scale = 1);
00562 
00566 void Mul(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2,QVImage<sShort,3> &dest, int scale = 1);
00567 
00571 void Mul(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2,QVImage<sFloat> &dest);
00572 
00576 void Mul(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2,QVImage<sFloat,3> &dest);
00577 
00593 void Div(const QVImage<uChar> &src1, const QVImage<uChar> &src2,QVImage<uChar> &dest, int scale = 1);
00594 
00598 void Div(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2,QVImage<uChar,3> &dest, int scale = 1);
00599 
00603 void Div(const QVImage<sShort> &src1, const QVImage<sShort> &src2,QVImage<sShort> &dest, int scale = 1);
00604 
00608 void Div(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2,QVImage<sShort,3> &dest, int scale = 1);
00609 
00613 void Div(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2,QVImage<sFloat> &dest);
00614 
00618 void Div(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2,QVImage<sFloat,3> &dest);
00619 
00632 void MulScale(const QVImage<uChar> &src1, const QVImage<uChar> &src2, QVImage<uChar> &dest);
00633 
00637 void MulScale(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2, QVImage<uChar,3> &dest);
00638 
00648 void AbsDiff(const QVImage<uChar> &src1, const QVImage<uChar> &src2,QVImage<uChar> &dest);
00649 
00653 void AbsDiff(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2,QVImage<sFloat> &dest);
00654 
00655 // constant aritmetic
00671 void MulC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, int scale = 1);
00672 
00676 void MulC(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, int scale = 1);
00677 
00681 void MulC(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant);
00682 
00698 void AddC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, int scale = 1);
00699 
00703 void AddC(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, int scale = 1);
00704 
00708 void AddC(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant);
00709 
00726 void SubC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, int scale = 1);
00727 
00731 void SubC(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, int scale = 1);
00732 
00736 void SubC(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant);
00737 
00754 void DivC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, int scale = 1);
00755 
00759 void DivC(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, int scale = 1);
00760 
00764 void DivC(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant);
00765 
00766 // statistics
00772 void Sum(const QVImage<uChar> &src, sDouble & value);
00773 
00777 void Sum(const QVImage<sShort> &src, sDouble & value);
00778 
00786 void Sum(const QVImage<uChar,3> &src, sDouble & r, sDouble & g, sDouble & b);
00787 
00791 void Sum(const QVImage<sShort,3> &src, sDouble & r, sDouble & g, sDouble & b);
00792 
00798 void Mean(const QVImage<uChar> &src, sDouble & value);
00799 
00803 void Mean(const QVImage<sShort> &src, sDouble & value);
00804 
00812 void Mean(const QVImage<uChar,3> &src, sDouble & r, sDouble & g, sDouble & b);
00813 
00817 void Mean(const QVImage<sShort,3> &src, sDouble & r, sDouble & g, sDouble & b);
00818 
00824 void Max(const QVImage<uChar> &src, uChar & value);
00825 
00829 void Max(const QVImage<sShort> &src, sShort & value);
00830 
00834 void Max(const QVImage<sFloat> &src, sFloat & value);
00835 
00843 void Max(const QVImage<uChar,3> &src, uChar & r, uChar & g, uChar & b);
00844 
00848 void Max(const QVImage<sShort,3> &src, sShort &r, sShort &g, sShort &b);
00849 
00855 void Min(const QVImage<uChar> &src, uChar & value);
00856 
00860 void Min(const QVImage<sShort> &src, sShort & value);
00861 
00865 void Min(const QVImage<sFloat> &src, sFloat & value);
00866 
00874 void Min(const QVImage<uChar,3> &src, uChar & r, uChar & g, uChar & b);
00875 
00879 void Min(const QVImage<sShort,3> &src, sShort &r, sShort &g, sShort &b);
00880 
00881 // Filters
00894 void FilterMax(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt colMaskSize, uInt rowMaskSize);
00895 
00899 void FilterMax(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt colMaskSize, uInt rowMaskSize);
00900 
00913 void FilterMin(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt colMaskSize, uInt rowMaskSize);
00914 
00918 void FilterMin(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt colMaskSize, uInt rowMaskSize);
00919 
00932 void FilterBox(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt colMaskRadius, uInt rowMaskRadius);
00933 
00937 void FilterBox(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt colMaskRadius, uInt rowMaskRadius);
00938 
00961 void FilterGauss(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt maskSize = 3);
00962 
00966 void FilterGauss(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3);
00967 
00985 void FilterHipass(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt maskSize = 3);
00986 
00990 void FilterHipass(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3);
00991 
01001 void FilterLowpass(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt maskSize = 3);
01002 
01006 void FilterLowpass(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3);
01007 
01020 void FilterSharpen(const QVImage<uChar> &src, QVImage<uChar> &dest);
01021 
01025 void FilterSharpen(const QVImage<sFloat> &src, QVImage<sFloat> &dest);
01026 
01038 void FilterSobelHoriz(const QVImage<uChar> &src, QVImage<uChar> &dest);
01039 
01043 void FilterSobelHoriz(const QVImage<sShort> &src, QVImage<sShort> &dest);
01044 
01048 void FilterSobelHoriz(const QVImage<sFloat> &src, QVImage<sFloat> &dest);
01049 
01061 void FilterSobelVert(const QVImage<uChar> &src, QVImage<uChar> &dest);
01062 
01066 void FilterSobelVert(const QVImage<sShort> &src, QVImage<sShort> &dest);
01067 
01071 void FilterSobelVert(const QVImage<sFloat> &src, QVImage<sFloat> &dest);
01072 
01093 void FilterSobelHorizMask(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3);
01094 
01113 void FilterSobelVertMask(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3);
01114 
01129 void FilterSobelHorizBorder(const QVImage<uChar> &src, QVImage<sShort> &dest, QVImage<uChar> &buffer, uInt maskSize = 3);
01130 
01145 void FilterSobelNegVertBorder(const QVImage<uChar> &src, QVImage<sShort> &dest, QVImage<uChar> &buffer, uInt maskSize = 3);
01146 
01159 void FilterMedian(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt colMaskRadius = 3, uInt rowMaskRadius = 3);
01160 
01164 void FilterMedian(const QVImage<sShort> &src, QVImage<sShort> &dest, uInt colMaskRadius = 3, uInt rowMaskRadius = 3);
01165 
01174 //      - IPPI_INTER_NN. Nearest neighbor interpolation
01179 void Resize(const QVImage<uChar> &src, QVImage<uChar> &dest, int interpolation = IPPI_INTER_LINEAR);
01180 
01184 void Resize(const QVImage<sFloat> &src, QVImage<sFloat> &dest, int interpolation = IPPI_INTER_LINEAR);
01185 
01195 void CannyGetSize(const QVGenericImage &src, QVImage<uChar> &buffer);
01196 
01207 void FilterSobelHorizGetBufferSize(const QVGenericImage &src, QVImage<uChar> &buffer, uInt maskSize = 3);
01208 
01219 void FilterSobelNegVertGetBufferSize(const QVGenericImage &src, QVImage<uChar> &buffer, uInt maskSize = 3);
01220 
01232 void MinEigenValGetBufferSize( const QVGenericImage &src, QVImage<uChar> &buffer, uInt apertureSize = 5, uInt avgWindow = 5);
01233 
01243 void FloodFillGetSize(const QVGenericImage &src, QVImage<uChar> &buffer);
01244 
01283 void Canny(QVImage<sShort> &dX, QVImage<sShort> &dY, QVImage<uChar> &dest,
01284                 QVImage<uChar> &buffer, double low = 50.0, double high = 150.0);
01285 
01289 void Canny(QVImage<sFloat> &dX, QVImage<sFloat> &dY, QVImage<uChar> &dest,
01290                 QVImage<uChar> &buffer, double low = 50.0, double high = 150.0);
01291 
01315 void MinEigenVal(const QVImage<uChar> &src, QVImage<sFloat> &dest, QVImage<uChar> &buffer,
01316         uInt apertureSize = 3, uInt avgWindow = 5, IppiKernelType kernel = ippKernelSobel);
01317 
01327 void FastMarchingGetBufferSize(const QVGenericImage &image, QVImage<uChar> &buffer);
01328 
01343 void FastMarching(const QVImage<uChar> &mask, QVImage<sFloat> &distances, int radius, QVImage<uChar> &buffer);
01344 
01388 void Inpaint(const QVImage<uChar> &src, const QVImage<uChar> &mask, const QVImage<sFloat> &distances,
01389                 QVImage<uChar> &dest, int radius = 4,  IppiInpaintFlag flag = IPP_INPAINT_TELEA);
01390 
01394 void Inpaint(const QVImage<uChar,3> &src, const QVImage<uChar> &mask, const QVImage<sFloat> &distances,
01395                 QVImage<uChar,3> &dest, int radius = 4,  IppiInpaintFlag flag = IPP_INPAINT_TELEA);
01396 
01409 QMap<sInt, int> HistogramRange(const QVImage<uChar, 1> &src, QList<uChar> values);
01410 
01419 QVector<int> HistogramRange(const QVImage<uChar, 1> &src);
01420 
01444 void FloodFillRange4Connected(QVImage<uChar> &img, QVImage<uChar> &buffer,
01445         uInt seedX, uInt seedY, uChar newVal, uChar minDelta, uChar maxDelta);
01446 
01471 void FloodFillGradient4Connected(QVImage<uChar> &img, QVImage<uChar> &buffer,
01472         uInt seedX, uInt seedY, uChar newVal, uChar minDelta, uChar maxDelta);
01473 
01499 void FilterGaussBorder(const QVImage<sFloat, 1> &src, QVImage<sFloat, 1> &dest, QVImage<uChar> &buffer, sInt kernelSize, sFloat sigma, IppiBorderType borderType = ippBorderConst, sFloat borderValue = 0.0);
01500 
01512 void FilterGaussGetBufferSize(const QVGenericImage &image, QVImage<uChar> &buffer, uInt kernelSize);
01513 
01534 void FindPeaks3x3(const QVImage<sInt, 1> &img, QVImage<uChar> &buffer, QList<QPoint> &points, sInt threshold, IppiNorm norm, uInt border, uInt maxPeakCount);
01535 
01539 void FindPeaks3x3(const QVImage<sFloat, 1> &img, QVImage<uChar> &buffer, QList<QPoint> &points, sFloat threshold, IppiNorm norm, uInt border, uInt maxPeakCount);
01540 
01541 
01552 void FindPeaks3x3GetBufferSize(const QVImage<sInt,1> &image, QVImage<uChar> &buffer);
01553 
01558 void FindPeaks3x3GetBufferSize(const QVImage<sFloat,1> &image, QVImage<uChar> &buffer);
01559 
01576 void FilterLaplace(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt maskSize = 3);
01577 
01581 void FilterLaplace(const QVImage<sShort> &src, QVImage<sShort> &dest, uInt maskSize = 3);
01582 
01586 void FilterLaplace(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3);
01587 
01600 void    WarpPerspective(const QVImage<uChar> &src, QVImage<uChar> &dest, const double coeffs[3][3], int interpolation = IPPI_INTER_LINEAR);
01601 
01602 #endif

Generated on Thu Mar 13 19:18:16 2008 for QVision by  doxygen 1.5.3