00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00024
00025 #ifndef QVIPP_H
00026 #define QVIPP_H
00027
00028 #include <qvcore/qvimage.h>
00029 #include <QMap>
00030
00031 class QVMatrix;
00032 class QVVector;
00033
00042 void Copy(const QVImage<uChar, 1> &src, QVImage<uChar, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00043
00047 void Copy(const QVImage<uShort, 1> &src, QVImage<uShort, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00048
00052 void Copy(const QVImage<sShort, 1> &src, QVImage<sShort, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00053
00057 void Copy(const QVImage<sInt, 1> &src, QVImage<sInt, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00058
00062 void Copy(const QVImage<sFloat, 1> &src, QVImage<sFloat, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00063
00067 void Copy(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00068
00072 void Copy(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00073
00077 void Copy(const QVImage<sShort, 3> &src, QVImage<sShort, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00078
00082 void Copy(const QVImage<sInt, 3> &src, QVImage<sInt, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00083
00087 void Copy(const QVImage<sFloat, 3> &src, QVImage<sFloat, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00088
00097 void Copy(const QVImage<uChar, 1> &src, QVImage<uChar, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00098
00102 void Copy(const QVImage<uShort, 1> &src, QVImage<uShort, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00103
00107 void Copy(const QVImage<sShort, 1> &src, QVImage<sShort, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00108
00112 void Copy(const QVImage<sInt, 1> &src, QVImage<sInt, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00113
00117 void Copy(const QVImage<sFloat, 1> &src, QVImage<sFloat, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00118
00129 void Copy(const QVImage<uChar, 1> &src1, const QVImage<uChar, 1> &src2, const QVImage<uChar, 1> &src3, QVImage<uChar, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00130
00134 void Copy(const QVImage<uShort, 1> &src1, const QVImage<uShort, 1> &src2, const QVImage<uShort, 1> &src3, QVImage<uShort, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00135
00139 void Copy(const QVImage<sShort, 1> &src1, const QVImage<sShort, 1> &src2, const QVImage<sShort, 1> &src3, QVImage<sShort, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00140
00144 void Copy(const QVImage<sInt, 1> &src1, const QVImage<sInt, 1> &src2, const QVImage<sInt, 1> &src3, QVImage<sInt, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00145
00149 void Copy(const QVImage<sFloat, 1> &src1, const QVImage<sFloat, 1> &src2, const QVImage<sFloat, 1> &src3, QVImage<sFloat, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00150
00159 void Copy(const QVImage<uChar, 3> &src, QVImage<uChar, 1> &dest, uChar channel, QPoint destROIOffset = QPoint(0,0));
00160
00164 void Copy(const QVImage<uShort, 3> &src, QVImage<uShort, 1> &dest, uChar channel, QPoint destROIOffset = QPoint(0,0));
00165
00169 void Copy(const QVImage<sShort, 3> &src, QVImage<sShort, 1> &dest, uChar channel, QPoint destROIOffset = QPoint(0,0));
00170
00174 void Copy(const QVImage<sInt, 3> &src, QVImage<sInt, 1> &dest, uChar channel, QPoint destROIOffset = QPoint(0,0));
00175
00179 void Copy(const QVImage<sFloat, 3> &src, QVImage<sFloat, 1> &dest, uChar channel, QPoint destROIOffset = QPoint(0,0));
00180
00198 void Compare(const QVImage<uChar> &src1, const QVImage<uChar> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00199
00203 void Compare(const QVImage<uShort> &src1, const QVImage<uShort> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00204
00208 void Compare(const QVImage<sShort> &src1, const QVImage<sShort> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00209
00213 void Compare(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00214
00218 void Compare(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00219
00223 void Compare(const QVImage<uShort,3> &src1, const QVImage<uShort,3> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00224
00228 void Compare(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00229
00233 void Compare(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2, QVImage<uChar> &dest, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00234
00254 void CompareC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00255
00259 void CompareC(const QVImage<sFloat> &src, QVImage<uChar> &dest, sFloat constant, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00260
00269 void Convert(const QVImage<uChar, 1> &src, QVImage<uShort, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00270
00274 void Convert(const QVImage<uChar, 1> &src, QVImage<sShort, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00275
00279 void Convert(const QVImage<uChar, 1> &src, QVImage<sInt, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00280
00284 void Convert(const QVImage<uChar, 1> &src, QVImage<sFloat, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00285
00289 void Convert(const QVImage<uShort, 1> &src, QVImage<uChar, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00290
00294 void Convert(const QVImage<uShort, 1> &src, QVImage<sInt, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00295
00299 void Convert(const QVImage<uShort, 1> &src, QVImage<sFloat, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00300
00304 void Convert(const QVImage<sShort, 1> &src, QVImage<uChar, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00305
00309 void Convert(const QVImage<sShort, 1> &src, QVImage<sInt, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00310
00314 void Convert(const QVImage<sShort, 1> &src, QVImage<sFloat, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00315
00319 void Convert(const QVImage<sInt, 1> &src, QVImage<uChar, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00320
00324 void Convert(const QVImage<uChar, 3> &src, QVImage<uShort, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00325
00329 void Convert(const QVImage<uChar, 3> &src, QVImage<sShort, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00330
00334 void Convert(const QVImage<uChar, 3> &src, QVImage<sInt, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00335
00339 void Convert(const QVImage<uChar, 3> &src, QVImage<sFloat, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00340
00344 void Convert(const QVImage<uShort, 3> &src, QVImage<uChar, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00345
00349 void Convert(const QVImage<uShort, 3> &src, QVImage<sInt, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00350
00354 void Convert(const QVImage<uShort, 3> &src, QVImage<sFloat, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00355
00359 void Convert(const QVImage<sShort, 3> &src, QVImage<uChar, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00360
00364 void Convert(const QVImage<sShort, 3> &src, QVImage<sInt, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00365
00369 void Convert(const QVImage<sShort, 3> &src, QVImage<sFloat, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00370
00374 void Convert(const QVImage<sInt, 3> &src, QVImage<uChar, 3> &dest, QPoint destROIOffset = QPoint(0,0));
00375
00389 void Convert(const QVImage<sFloat, 1> &src, QVImage<uChar, 1> &dest, IppRoundMode roundMode = ippRndNear, QPoint destROIOffset = QPoint(0,0));
00390
00394 void Convert(const QVImage<sFloat, 1> &src, QVImage<uShort, 1> &dest, IppRoundMode roundMode = ippRndNear, QPoint destROIOffset = QPoint(0,0));
00395
00399 void Convert(const QVImage<sFloat, 1> &src, QVImage<sShort, 1> &dest, IppRoundMode roundMode = ippRndNear, QPoint destROIOffset = QPoint(0,0));
00400
00404 void Convert(const QVImage<sFloat, 3> &src, QVImage<uChar, 3> &dest, IppRoundMode roundMode = ippRndNear, QPoint destROIOffset = QPoint(0,0));
00405
00409 void Convert(const QVImage<sFloat, 3> &src, QVImage<uShort, 3> &dest, IppRoundMode roundMode = ippRndNear, QPoint destROIOffset = QPoint(0,0));
00410
00414 void Convert(const QVImage<sFloat, 3> &src, QVImage<sShort, 3> &dest, IppRoundMode roundMode = ippRndNear, QPoint destROIOffset = QPoint(0,0));
00415
00427 void RGBToGray(const QVImage<uChar, 3> &src, QVImage<uChar, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00428
00432 void RGBToGray(const QVImage<uShort, 3> &src, QVImage<uShort, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00433
00437 void RGBToGray(const QVImage<sShort, 3> &src, QVImage<sShort, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00438
00439
00442
00443
00447 void RGBToGray(const QVImage<sFloat, 3> &src, QVImage<sFloat, 1> &dest, QPoint destROIOffset = QPoint(0,0));
00448
00467 void Threshold(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00468
00472 void Threshold(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00473
00477 void Threshold(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant, IppCmpOp ippCmpOp = ippCmpEq, QPoint destROIOffset = QPoint(0,0));
00478
00482 void Threshold(QVImage<uChar> &src_dest, uChar constant, IppCmpOp ippCmpOp = ippCmpEq);
00483
00487 void Threshold(QVImage<sShort> &src_dest, sShort constant, IppCmpOp ippCmpOp = ippCmpEq);
00488
00492 void Threshold(QVImage<sFloat> &src_dest, sFloat constant, IppCmpOp ippCmpOp = ippCmpEq);
00493
00512 void Threshold_Val(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar threshold, uChar value, IppCmpOp ippCmpOp, QPoint destROIOffset = QPoint(0,0));
00513
00517 void Threshold_Val(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat threshold, sFloat value, IppCmpOp ippCmpOp, QPoint destROIOffset = QPoint(0,0));
00518
00522 void Threshold_Val(QVImage<uChar> &src_dest, uChar threshold, uChar value, IppCmpOp ippCmpOp = ippCmpEq);
00523
00527 void Threshold_Val(QVImage<sShort> &src_dest, sShort threshold, sShort value, IppCmpOp ippCmpOp = ippCmpEq);
00528
00532 void Threshold_Val(QVImage<sFloat> &src_dest, sFloat threshold, sFloat value, IppCmpOp ippCmpOp = ippCmpEq);
00533
00549 void Threshold_LTValGTVal(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar thresholdLT, uChar valueLT, uChar thresholdGT, uChar valueGT, QPoint destROIOffset = QPoint(0,0));
00550
00554 void Threshold_LTValGTVal(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat thresholdLT, sFloat valueLT, sFloat thresholdGT, sFloat valueGT, QPoint destROIOffset = QPoint(0,0));
00555
00563 void Set(QVImage<uChar> &img, uChar constant);
00564
00568 void Set(QVImage<uShort> &img, uShort constant);
00569
00573 void Set(QVImage<sShort> &img, sShort constant);
00574
00578 void Set(QVImage<sInt> &img, sInt constant);
00579
00583 void Set(QVImage<sFloat> &img, sFloat constant);
00584
00595 void Set(QVImage<uChar, 3> &img, uChar red, uChar green, uChar blue);
00596
00600 void Set(QVImage<uShort, 3> &img, uShort red, uShort green, uShort blue);
00601
00605 void Set(QVImage<sShort, 3> &img, sShort red, sShort green, sShort blue);
00606
00610 void Set(QVImage<sInt, 3> &img, sInt red, sInt green, sInt blue);
00611
00615 void Set(QVImage<sFloat, 3> &img, sFloat red, sFloat green, sFloat blue);
00616
00622 void Abs(const QVImage<sShort> &src, QVImage<sShort> &dest, QPoint destROIOffset = QPoint(0,0));
00623
00627 void Abs(const QVImage<sFloat> &src, QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
00628
00629
00635 void Not(const QVImage<uChar> &src, QVImage<uChar> &dest, QPoint destROIOffset = QPoint(0,0));
00636
00640 void Not(const QVImage<uChar,3> &src, QVImage<uChar,3> &dest, QPoint destROIOffset = QPoint(0,0));
00641
00648 void OrC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00649
00656 void OrC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00657
00664 void OrC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00665
00672 void OrC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00673
00680 void OrC(const QVImage<sInt> &src, QVImage<sInt> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00681
00688 void OrC(const QVImage<sInt, 3> &src, QVImage<sInt, 3> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00689
00696 void AndC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00697
00704 void AndC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00705
00712 void AndC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00713
00720 void AndC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00721
00728 void AndC(const QVImage<sInt> &src, QVImage<sInt> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00729
00736 void AndC(const QVImage<sInt, 3> &src, QVImage<sInt, 3> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00737
00744 void XorC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00745
00752 void XorC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00753
00760 void XorC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00761
00768 void XorC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00769
00776 void XorC(const QVImage<sInt> &src, QVImage<sInt> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00777
00784 void XorC(const QVImage<sInt, 3> &src, QVImage<sInt, 3> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00785
00792 void LShiftC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00793
00800 void LShiftC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00801
00808 void LShiftC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00809
00816 void LShiftC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00817
00824 void LShiftC(const QVImage<sInt> &src, QVImage<sInt> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00825
00832 void LShiftC(const QVImage<sInt, 3> &src, QVImage<sInt, 3> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00833
00843 void Ln(const QVImage<sFloat> &src, QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
00844
00849 void Ln(const QVImage<sFloat,3> &src, QVImage<sFloat,3> &dest, QPoint destROIOffset = QPoint(0,0));
00850
00855 void Sqr(const QVImage<sFloat,1> &src, QVImage<sFloat,1> &dest, QPoint destROIOffset = QPoint(0,0));
00856
00863 void RShiftC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00864
00871 void RShiftC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, QPoint destROIOffset = QPoint(0,0));
00872
00879 void RShiftC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00880
00887 void RShiftC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, QPoint destROIOffset = QPoint(0,0));
00888
00895 void RShiftC(const QVImage<sInt> &src, QVImage<sInt> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00896
00903 void RShiftC(const QVImage<sInt, 3> &src, QVImage<sInt, 3> &dest, sInt constant, QPoint destROIOffset = QPoint(0,0));
00904
00905
00921 void Add(const QVImage<uChar> &src1, const QVImage<uChar> &src2, QVImage<uChar> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00922
00926 void Add(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2, QVImage<uChar,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00927
00931 void Add(const QVImage<uShort> &src1, const QVImage<uShort> &src2, QVImage<uShort> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00932
00936 void Add(const QVImage<uShort,3> &src1, const QVImage<uShort,3> &src2, QVImage<uShort,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00937
00941 void Add(const QVImage<sShort> &src1, const QVImage<sShort> &src2, QVImage<sShort> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00942
00946 void Add(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2, QVImage<sShort,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00947
00951 void Add(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2, QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
00952
00956 void Add(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2, QVImage<sFloat,3> &dest, QPoint destROIOffset = QPoint(0,0));
00957
00973 void Sub(const QVImage<uChar> &src1, const QVImage<uChar> &src2,QVImage<uChar> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00974
00978 void Sub(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2,QVImage<uChar,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00979
00983 void Sub(const QVImage<uShort> &src1, const QVImage<uShort> &src2,QVImage<uShort> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00984
00988 void Sub(const QVImage<uShort,3> &src1, const QVImage<uShort,3> &src2,QVImage<uShort,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00989
00993 void Sub(const QVImage<sShort> &src1, const QVImage<sShort> &src2,QVImage<sShort> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00994
00998 void Sub(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2,QVImage<sShort,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
00999
01003 void Sub(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2,QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
01004
01008 void Sub(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2,QVImage<sFloat,3> &dest, QPoint destROIOffset = QPoint(0,0));
01009
01025 void Mul(const QVImage<uChar> &src1, const QVImage<uChar> &src2,QVImage<uChar> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01026
01030 void Mul(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2,QVImage<uChar,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01031
01035 void Mul(const QVImage<uShort> &src1, const QVImage<uShort> &src2,QVImage<uShort> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01036
01040 void Mul(const QVImage<uShort,3> &src1, const QVImage<uShort,3> &src2,QVImage<uShort,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01041
01045 void Mul(const QVImage<sShort> &src1, const QVImage<sShort> &src2,QVImage<sShort> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01046
01050 void Mul(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2,QVImage<sShort,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01051
01055 void Mul(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2,QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
01056
01060 void Mul(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2,QVImage<sFloat,3> &dest, QPoint destROIOffset = QPoint(0,0));
01061
01077 void Div(const QVImage<uChar> &src1, const QVImage<uChar> &src2,QVImage<uChar> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01078
01082 void Div(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2,QVImage<uChar,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01083
01087 void Div(const QVImage<uShort> &src1, const QVImage<uShort> &src2,QVImage<uShort> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01088
01092 void Div(const QVImage<uShort,3> &src1, const QVImage<uShort,3> &src2,QVImage<uShort,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01093
01097 void Div(const QVImage<sShort> &src1, const QVImage<sShort> &src2,QVImage<sShort> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01098
01102 void Div(const QVImage<sShort,3> &src1, const QVImage<sShort,3> &src2,QVImage<sShort,3> &dest, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01103
01107 void Div(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2,QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
01108
01112 void Div(const QVImage<sFloat,3> &src1, const QVImage<sFloat,3> &src2,QVImage<sFloat,3> &dest, QPoint destROIOffset = QPoint(0,0));
01113
01126 void MulScale(const QVImage<uChar> &src1, const QVImage<uChar> &src2, QVImage<uChar> &dest, QPoint destROIOffset = QPoint(0,0));
01127
01131 void MulScale(const QVImage<uChar,3> &src1, const QVImage<uChar,3> &src2, QVImage<uChar,3> &dest, QPoint destROIOffset = QPoint(0,0));
01132
01142 void AbsDiff(const QVImage<uChar> &src1, const QVImage<uChar> &src2,QVImage<uChar> &dest, QPoint destROIOffset = QPoint(0,0));
01143
01147 void AbsDiff(const QVImage<sFloat> &src1, const QVImage<sFloat> &src2,QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
01148
01149
01165 void MulC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01166
01170 void MulC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01171
01175 void MulC(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01176
01180 void MulC(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant, QPoint destROIOffset = QPoint(0,0));
01181
01185 void MulC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01186
01190 void MulC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01191
01195 void MulC(const QVImage<sShort, 3> &src, QVImage<sShort, 3> &dest, sShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01196
01200 void MulC(const QVImage<sFloat, 3> &src, QVImage<sFloat, 3> &dest, sFloat constant, QPoint destROIOffset = QPoint(0,0));
01201
01217 void AddC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01218
01222 void AddC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01223
01227 void AddC(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01228
01232 void AddC(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant, QPoint destROIOffset = QPoint(0,0));
01233
01237 void AddC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01238
01242 void AddC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01243
01247 void AddC(const QVImage<sShort, 3> &src, QVImage<sShort, 3> &dest, sShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01248
01252 void AddC(const QVImage<sFloat, 3> &src, QVImage<sFloat, 3> &dest, sFloat constant, QPoint destROIOffset = QPoint(0,0));
01253
01270 void SubC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01271
01275 void SubC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01276
01280 void SubC(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01281
01285 void SubC(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant, QPoint destROIOffset = QPoint(0,0));
01286
01290 void SubC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01291
01295 void SubC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01296
01300 void SubC(const QVImage<sShort, 3> &src, QVImage<sShort, 3> &dest, sShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01301
01305 void SubC(const QVImage<sFloat, 3> &src, QVImage<sFloat, 3> &dest, sFloat constant, QPoint destROIOffset = QPoint(0,0));
01306
01323 void DivC(const QVImage<uChar> &src, QVImage<uChar> &dest, uChar constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01324
01328 void DivC(const QVImage<uShort> &src, QVImage<uShort> &dest, uShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01329
01333 void DivC(const QVImage<sShort> &src, QVImage<sShort> &dest, sShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01334
01338 void DivC(const QVImage<sFloat> &src, QVImage<sFloat> &dest, sFloat constant, QPoint destROIOffset = QPoint(0,0));
01339
01343 void DivC(const QVImage<uChar, 3> &src, QVImage<uChar, 3> &dest, uChar constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01344
01348 void DivC(const QVImage<uShort, 3> &src, QVImage<uShort, 3> &dest, uShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01349
01353 void DivC(const QVImage<sShort, 3> &src, QVImage<sShort, 3> &dest, sShort constant, int scale = 1, QPoint destROIOffset = QPoint(0,0));
01354
01358 void DivC(const QVImage<sFloat, 3> &src, QVImage<sFloat, 3> &dest, sFloat constant, QPoint destROIOffset = QPoint(0,0));
01359
01360
01366 void Sum(const QVImage<uChar> &src, sDouble & value);
01367
01371 void Sum(const QVImage<sShort> &src, sDouble & value);
01372
01380 void Sum(const QVImage<uChar,3> &src, sDouble & r, sDouble & g, sDouble & b);
01381
01385 void Sum(const QVImage<sShort,3> &src, sDouble & r, sDouble & g, sDouble & b);
01386
01398
01399 void Integral(const QVImage<uChar,1> &src, QVImage<sInt,1> &dst, sInt val, QPoint destROIOffset = QPoint(0,0));
01400
01407
01408 void Integral(const QVImage<uChar,1> &src, QVImage<sFloat,1> &dst, sFloat val, QPoint destROIOffset = QPoint(0,0));
01409
01419
01420 void SqrIntegral(const QVImage<uChar,1> &src, QVImage<sFloat,1> &dst1, QVImageBuffer<sDouble,1> &dst2, sFloat val, sDouble valSqr, QPoint destROIOffset = QPoint(0,0));
01421
01422
01433 void RectStdDev(const QVImage<sFloat,1> &src1, const QVImageBuffer<sDouble,1> &src2, QVImage<sFloat,1> &dst, IppiRect rect, QPoint destROIOffset = QPoint(0,0));
01434
01440 void Mean(const QVImage<uChar> &src, sDouble & value, QPoint destROIOffset = QPoint(0,0));
01441
01445 void Mean(const QVImage<sShort> &src, sDouble & value, QPoint destROIOffset = QPoint(0,0));
01446
01454 void Mean(const QVImage<uChar,3> &src, sDouble & r, sDouble & g, sDouble & b, QPoint destROIOffset = QPoint(0,0));
01455
01459 void Mean(const QVImage<sShort,3> &src, sDouble & r, sDouble & g, sDouble & b, QPoint destROIOffset = QPoint(0,0));
01460
01466 void Max(const QVImage<uChar> &src, uChar & value);
01467
01471 void Max(const QVImage<sShort> &src, sShort & value);
01472
01476 void Max(const QVImage<sFloat> &src, sFloat & value);
01477
01485 void Max(const QVImage<uChar,3> &src, uChar & r, uChar & g, uChar & b);
01486
01490 void Max(const QVImage<sShort,3> &src, sShort &r, sShort &g, sShort &b);
01491
01497 void Min(const QVImage<uChar> &src, uChar & value);
01498
01502 void Min(const QVImage<sShort> &src, sShort & value);
01503
01507 void Min(const QVImage<sFloat> &src, sFloat & value);
01508
01516 void Min(const QVImage<uChar,3> &src, uChar & r, uChar & g, uChar & b);
01517
01521 void Min(const QVImage<sShort,3> &src, sShort &r, sShort &g, sShort &b);
01522
01523
01536 void FilterMax(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt colMaskSize, uInt rowMaskSize, QPoint destROIOffset = QPoint(0,0));
01537
01541 void FilterMax(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt colMaskSize, uInt rowMaskSize, QPoint destROIOffset = QPoint(0,0));
01542
01546 void FilterMax(const QVImage<uShort> &src, QVImage<uShort> &dest, uInt colMaskSize, uInt rowMaskSize, QPoint destROIOffset = QPoint(0,0));
01547
01548
01561 void FilterMin(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt colMaskSize, uInt rowMaskSize, QPoint destROIOffset = QPoint(0,0));
01562
01566 void FilterMin(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt colMaskSize, uInt rowMaskSize, QPoint destROIOffset = QPoint(0,0));
01567
01571 void FilterMin(const QVImage<sShort> &src, QVImage<sShort> &dest, uInt colMaskSize, uInt rowMaskSize, QPoint destROIOffset = QPoint(0,0));
01572
01573
01586 void FilterBox(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt colMaskRadius, uInt rowMaskRadius, QPoint destROIOffset = QPoint(0,0));
01587
01591 void FilterBox(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt colMaskRadius, uInt rowMaskRadius, QPoint destROIOffset = QPoint(0,0));
01592
01615 void FilterGauss(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01616
01620 void FilterGauss(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01621
01625 void FilterGauss(const QVImage<uChar,3> &src, QVImage<uChar,3> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01626
01630 void FilterGauss(const QVImage<sFloat,3> &src, QVImage<sFloat,3> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01631
01636
01643 void Filter(const QVImage<sFloat> &src, QVImage<sFloat> &dest, const QVMatrix kernel, const QPoint destROIOffset = QPoint(0,0));
01644
01645
01654 void FilterColumn(const QVImage<sFloat> &src, QVImage<sFloat> &dest, const QVVector kernel, const QPoint destROIOffset = QPoint(0,0));
01655
01664 void FilterRow(const QVImage<sFloat> &src, QVImage<sFloat> &dest, const QVVector kernel, const QPoint destROIOffset = QPoint(0,0));
01665
01683 void FilterHipass(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01684
01688 void FilterHipass(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01689
01699 void FilterLowpass(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01700
01704 void FilterLowpass(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01705
01718 void FilterSharpen(const QVImage<uChar> &src, QVImage<uChar> &dest, QPoint destROIOffset = QPoint(0,0));
01719
01723 void FilterSharpen(const QVImage<sFloat> &src, QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
01724
01736 void FilterSobelHoriz(const QVImage<uChar> &src, QVImage<uChar> &dest, QPoint destROIOffset = QPoint(0,0));
01737
01741 void FilterSobelHoriz(const QVImage<sShort> &src, QVImage<sShort> &dest, QPoint destROIOffset = QPoint(0,0));
01742
01746 void FilterSobelHoriz(const QVImage<sFloat> &src, QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
01747
01759 void FilterSobelVert(const QVImage<uChar> &src, QVImage<uChar> &dest, QPoint destROIOffset = QPoint(0,0));
01760
01764 void FilterSobelVert(const QVImage<sShort> &src, QVImage<sShort> &dest, QPoint destROIOffset = QPoint(0,0));
01765
01769 void FilterSobelVert(const QVImage<sFloat> &src, QVImage<sFloat> &dest, QPoint destROIOffset = QPoint(0,0));
01770
01791 void FilterSobelHorizMask(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01792
01811 void FilterSobelVertMask(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01812
01827 void FilterSobelHorizBorder(const QVImage<uChar> &src, QVImage<sShort> &dest, QVImage<uChar> &buffer, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01828
01843 void FilterSobelNegVertBorder(const QVImage<uChar> &src, QVImage<sShort> &dest, QVImage<uChar> &buffer, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
01844
01857 void FilterMedian(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt colMaskRadius = 3, uInt rowMaskRadius = 3, QPoint destROIOffset = QPoint(0,0));
01858
01862 void FilterMedian(const QVImage<sShort> &src, QVImage<sShort> &dest, uInt colMaskRadius = 3, uInt rowMaskRadius = 3, QPoint destROIOffset = QPoint(0,0));
01863
01877 void Resize(const QVImage<uChar> &src, QVImage<uChar> &dest, int interpolation = IPPI_INTER_LINEAR);
01878
01882 void Resize(const QVImage<sFloat> &src, QVImage<sFloat> &dest, int interpolation = IPPI_INTER_LINEAR);
01883
01887 void Resize(const QVImage<uShort> &src, QVImage<uShort> &dest, int interpolation = IPPI_INTER_LINEAR);
01888
01889
01893 void Resize(const QVImage<uChar,3> &src, QVImage<uChar,3> &dest, int interpolation = IPPI_INTER_LINEAR);
01894
01904 void CannyGetSize(const QVGenericImage &src, QVImage<uChar> &buffer);
01905
01916 void FilterSobelHorizGetBufferSize(const QVGenericImage &src, QVImage<uChar> &buffer, uInt maskSize = 3);
01917
01928 void FilterSobelNegVertGetBufferSize(const QVGenericImage &src, QVImage<uChar> &buffer, uInt maskSize = 3);
01929
01941 void MinEigenValGetBufferSize( const QVGenericImage &src, QVImage<uChar> &buffer, uInt apertureSize = 5, uInt avgWindow = 5);
01942
01952 void FloodFillGetSize(const QVGenericImage &src, QVImage<uChar> &buffer);
01953
01992 void Canny(QVImage<sShort> &dX, QVImage<sShort> &dY, QVImage<uChar> &dest,
01993 QVImage<uChar> &buffer, double low = 50.0, double high = 150.0);
01994
01998 void Canny(QVImage<sFloat> &dX, QVImage<sFloat> &dY, QVImage<uChar> &dest,
01999 QVImage<uChar> &buffer, double low = 50.0, double high = 150.0, QPoint destROIOffset = QPoint(0,0));
02000
02024 void MinEigenVal(const QVImage<uChar> &src, QVImage<sFloat> &dest, QVImage<uChar> &buffer,
02025 uInt apertureSize = 3, uInt avgWindow = 5, IppiKernelType kernel = ippKernelSobel, QPoint destROIOffset = QPoint(0,0));
02026
02036 void FastMarchingGetBufferSize(const QVGenericImage &image, QVImage<uChar> &buffer);
02037
02052 void FastMarching(const QVImage<uChar> &mask, QVImage<sFloat> &distances, int radius, QVImage<uChar> &buffer, QPoint destROIOffset = QPoint(0,0));
02053
02097 void Inpaint(const QVImage<uChar> &src, const QVImage<uChar> &mask, const QVImage<sFloat> &distances,
02098 QVImage<uChar> &dest, int radius = 4, IppiInpaintFlag flag = IPP_INPAINT_TELEA, QPoint destROIOffset = QPoint(0,0));
02099
02103 void Inpaint(const QVImage<uChar,3> &src, const QVImage<uChar> &mask, const QVImage<sFloat> &distances,
02104 QVImage<uChar,3> &dest, int radius = 4, IppiInpaintFlag flag = IPP_INPAINT_TELEA, QPoint destROIOffset = QPoint(0,0));
02105
02118 QMap<sInt, int> HistogramRange(const QVImage<uChar, 1> &src, QList<uChar> values);
02119
02128 QVector<int> HistogramRange(const QVImage<uChar, 1> &src);
02129
02153 void FloodFillRange4Connected(QVImage<uChar> &img, QVImage<uChar> &buffer,
02154 uInt seedX, uInt seedY, uChar newVal, uChar minDelta, uChar maxDelta);
02155
02180 void FloodFillGradient4Connected(QVImage<uChar> &img, QVImage<uChar> &buffer,
02181 uInt seedX, uInt seedY, uChar newVal, uChar minDelta, uChar maxDelta);
02182
02208 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, QPoint destROIOffset = QPoint(0,0));
02209
02221 void FilterGaussGetBufferSize(const QVGenericImage &image, QVImage<uChar> &buffer, uInt kernelSize);
02222
02243 void FindPeaks3x3(const QVImage<sInt, 1> &img, QVImage<uChar> &buffer, QList<QPoint> &points, sInt threshold, IppiNorm norm, uInt border, uInt maxPeakCount);
02244
02248 void FindPeaks3x3(const QVImage<sFloat, 1> &img, QVImage<uChar> &buffer, QList<QPoint> &points, sFloat threshold, IppiNorm norm, uInt border, uInt maxPeakCount);
02249
02250
02261 void FindPeaks3x3GetBufferSize(const QVImage<sInt,1> &image, QVImage<uChar> &buffer);
02262
02267 void FindPeaks3x3GetBufferSize(const QVImage<sFloat,1> &image, QVImage<uChar> &buffer);
02268
02285 void FilterLaplace(const QVImage<uChar> &src, QVImage<uChar> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
02286
02290 void FilterLaplace(const QVImage<sShort> &src, QVImage<sShort> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
02291
02295 void FilterLaplace(const QVImage<sFloat> &src, QVImage<sFloat> &dest, uInt maskSize = 3, QPoint destROIOffset = QPoint(0,0));
02296
02309 void WarpPerspective(const QVImage<uChar> &src, QVImage<uChar> &dest, const QVMatrix &rectifyingHomography, int interpolation = IPPI_INTER_LINEAR, QPoint destROIOffset = QPoint(0,0));
02310
02314 void WarpPerspective(const QVImage<uChar,3> &src, QVImage<uChar,3> &dest, const QVMatrix &rectifyingHomography, int interpolation = IPPI_INTER_LINEAR, QPoint destROIOffset = QPoint(0,0));
02315
02316 #endif