Move the sources to trunk
[opencv] / ChangeLog
1 - Bugfix: added dma_unlisten to icvCloseCAM_DC1394 (thanks to Victor Benso)
2
3 =============================================================================
4                       OpenCV 1.0, October 18, 2006
5 =============================================================================
6
7 >>> New functionality/features: <<<
8
9   - General:
10     * Windows installation package now includes precompiled Python module
11     * Borland C++ (v5.6+) makefiles re-added (see _make\make_all_bc.mak)
12
13   - CV:
14     * Inpainting was added, see samples/c/inpaint.cpp
15       (thanks to Alexander Kibkalo and Alexey Kalinichenko)
16
17   - MLL:
18     * Boosted tree classifiers added, see MLL reference manual
19
20   - HighGUI:
21     * Jpeg2000 and EXR support in highgui using JasPer and OpenEXR (thanks to Nils Hasler)
22       OpenEXR is not built-in to highgui on Windows by default. See
23       otherlibs/_graphics/readme.txt.
24     * >8-bit image input/output for PNG, Jpeg2000 and OpenEXR (thanks to Nils Hasler)
25     * Updated CMUcamera wrapper.
26     * Several V4L2 improvements and fixes
27   
28   - New samples (opencv/samples):
29     * Camera calibration sample: calibrate.cpp
30     * Inpainting sample: inpaint.cpp
31     * Letter recognition using the existing database with
32       random trees/boosted trees/neural nets: leter_recog.cpp
33     * A few new Python samples.
34
35   - Tests:
36     * Most old cv tests have been rewritten/converted to use cxts instead of trs.
37       TRS is not used by the tests anymore.
38     
39 >>> Bug fixes: <<<
40      Many thanks to everybody who submitted bug reports and/or provided the patches!
41
42      * Incorrect normalization in cvFindFundamentalMat (SF #1550855)
43      * Occasional cvGetQuadrangleSubPix crashes (SF #1549168)
44      * Occasional cvCalcOpticalFlowPyrLK crashes
45      * Internal GCC 3.x error in cvFloor/cvCeil (SF #1546657)
46      * Several Python-related bugs (SF #1570109, SF #1572800, SF #1543593)
47      * Bugs in contour processing/rendering (SF #1550889, 
48      * x86-64 related bugs (SF #1526133, SF #1527997)
49      * OpenCV dispatcher tried to load old versions of IPP (pre 4.x)
50        that caused many failures (see SF #1555093, for example)
51      * Inaccurate results in some cases in cvFitEllipse, cvFitLine, cvHoughCircles.
52      * Severe bug in Bayesian classifier, broken regression tree in MLL
53      * Overflow in blurring filter
54      * cvSaveImage() modified saved images leading to potential problems in threaded apps.
55      * Numeric values in XML/YAML were emitted/parsed incorrectly
56        on some non-US locales in Linux
57      * VS2005 Express/Standard Editions could not build OpenCV
58        (due to missing OpenMP support)
59      * ...
60
61 >>> Known issues:
62     * Certain tests may fail on IA64 (Itanium), e.g.
63       gaussian filter, fundamental matrix estimation, chessboard detector.
64
65 =============================================================================
66                       OpenCV 1.0 RC1, August 11, 2006
67 =============================================================================
68
69 >>> New functionality/features: <<<
70   - New Compilers/Environments supported:
71      * GCC 4.x 
72      * Visual Studio .NET 2005.
73        Note that: a) Project files .vcproj's and the corresponding solution files
74                      have been converted to VS.NET 2005 format, thus they can not
75                      be opened with VS.NET 2003. As a workaround, one may convert
76                      project files and workspaces for Visual Studio 6.0 to VS.NET 2003.
77                   b) The projects can be built for Win32 and x64 (a.k.a. EM64T/AMD64) platforms.
78                   c) OpenMP support is turned on by default.
79      * On MacOSX universal OpenCV binaries are now built by default, so both
80        PPC and Intel Mac's are fully supported.
81      * Borland C++ support has been removed. There is still script
82        utils\gen_make.py available that can generate makefile.bcc's out of
83        MSVC's project files (not tested with rc1).
84      * New command-line makefiles _make\makefile.* are introduced that allow user
85        to build OpenCV for Win64 (EM64T/AMD64 and Itanium). For details, see INSTALL file.
86
87   - cxcore:
88      * added several new functions:
89        cvMixChannels, cvRandShuffle, cvRange, cvCalcPCA, cvProjectPCA, cvBackProjectPCA,
90        cvNormalize, cvReduce, cvGetNumThreads, cvSetNumThreads, cvGetThreadNum.
91        See docs/ref/opencvref_cxcore.htm for details.
92      * extended cvCalcCovarMatrix, cvMulTransposed
93      * added macros for the library version: see cxcore/include/cvver.h
94      * added C++ classes CvImage and CvMatrix:
95        see cxcore/include/cxcore.hpp and the sample samples/c/image.cpp
96      * the maximum number of channels in matrices has been increased up to 64.
97        though, only the basic functions can handle such images.
98   - cv:
99     * new functions:
100       cvPyrMeanShiftFiltering, cvWatershed, cvGetAffineTransform.
101       see docs/ref/opencvref_cv.htm for details.
102     * extended:
103       cvDistTransform (true distance transform algorithm),
104       cvThresh (Otsu adaptive algorithm),
105       cvCanny (using true gradient as an option)
106     * all the filtering functionality has been reworked,
107       new C++ classes for linear separable and non-separable filtering,
108       morphology, laplace, box filer (blur) have been added.
109       see cv/include/cv.hpp.
110       The older C API is still supported and is preferrable sometimes
111       (e.g. when IPP is used).
112     ****** API changes:
113       * cvCamShift, cvBoxPoints and all the other functions
114         taking/returning an angle (as a field of the structure CvBox2D
115         or as a standalone parameter) now measure the angles in degrees.
116
117   - cvaux:
118     * new large video surveillance module has been added
119       (cvaux/src/vs and cvaux/include/cvvidsurv.h).
120       It implements smart blob tracking. See the description at docs/vidsurv)
121   - ml (stands for Machine Learining):
122     * this is a completely new C++ module containing classes for statistical
123       classification, regression and clustering. See docs/ref/opencvref_ml.htm.
124   - highgui:
125     * the whole video capturing code has been restructured and split by modules,
126       better function names have been introduced (older names are supported via macros)
127     * Quicktime (MacOSX) and Xine (Linux, (attention: watch the license!)) support added.
128     * many small and big improvements have been made
129       in most of the video capturing modules
130     * a helper thread can be used to refresh highgui windows content w/o having to
131       call cvWaitKey() (Linux only).
132
133   - Bindings/interfaces:
134     * IPP 5.1.* is now supported and this is a recommended version of IPP
135       to use with OpenCV. One may build custom IPP DLL for easier binary
136       redistribution (see interfaces/ipp)
137     * Python bindings have been greatly improved and extended
138       (see interfaces/swig[/python] and samples/python).
139
140 >>> Optimizations: <<<
141   -  The following filtering functions have been significantly optimized
142      using the new IPP 5.1 functionality:
143      cvSobel, cvLaplace, cvErode, cvDilate.
144   -  cvFilter2D now runs much faster with larger kernels (using DFT-based method)
145   -  Several functions have been parallelized with OpenMP:
146      cvHaarDetectObjects, cvCalcOpticalFlowPyrLK, cvDistTransform (the new algorithm only),
147      so they should run ~50-80% faster on dual core CPUs, when the code is built
148      with Intel compiler or MSVC2005 (as the precompiled OpenCV binaries are).
149
150 >>> Bug fixes: <<<
151
152   -  A lot of bugs have been fixed. We would like to thank all the people
153      who submitted bug reports and/or patches.
154      This is incomplete list of the bugs fixed.
155
156      * cvFilter2D (CVS version crashed occasionally)
157      * cvInitUndistortMap mem leak
158      * cvRodrigues2 (several bugs and numerical instability)
159      * cvAdaptiveThresh incorrect handling of extreme cases
160      * Graph traversal (cvNextGraphItem) failed on some graphs
161      * Probabilistic Hough Transform mem leak and running beyond the buffers.
162      * Numerous records in SF bug tracker have been adressed (below are
163      the IDs of the records):
164      1344667, 1458680, 1358957, 1358962, 1489946, 1176530, 1405941,
165      1291046, 1307735, 1307660, 1297619, 1263481, 1295583, 1229649,
166      1242376, 1184122, 1145216, 1115824, 1144060, 1106466, 1055967,
167      1080061, 1034397, 1080669, 1068438, 1061664, 1067400, 952756,
168      709670, 972533, 709670, 706225, 667748, 661480
169
170 >>> Known issues:
171   - Some of the tests fail/crash on Win64:
172     * EM64T/AMD64: tests for cvMatchTemplate and cvRemap fail
173     * IA64 (Itanium): tests for cvDCT, cvDFT and cvCamShift fail, test for cvCanny crashes.
174
175 =============================================================================
176                       OpenCV beta 5, Thursday, July 21, 2005
177 =============================================================================
178
179 >>> New functionality/features: <<<
180   -  (Linux) Support for more cameras has been added in highgui.
181      Different versions of libdc1394 can now be used.
182      (thanks to Frederic Devernay for the new versions of cvcap_dc1394.cpp,
183      cvcap_v4l.cpp and patches for configure script,
184      thanks to Sfuncia Fabio for the patch for cvcap_v4l.cpp)
185
186   -  (Linux) More types of video files can now be read by using libavformat
187      and libavcodec from ffmpeg-0.4.9pre1
188      (thanks to Frederic Devernay for new version of cvcap.cpp and patches for
189      configure script)
190
191   -  (Linux) Python wrappers for OpenCV have been created
192      by Olivier Bornet and Mark Asbach using SWIG.
193      See opencv/interfaces/python and opencv/samples/python.
194      While the wrappers should be OS-independent,
195      so far they have been built on Linux only.
196
197   -  OpenCV now builds and runs on 64-bit platforms: EM64T (a.k.a. AMD64)
198      and IA64 (Itanium). Extra configurations have been added to project files
199      for MsDevStudio 6.0.
200
201   -  Performance tests for cxcore and part of cv have been created.
202      the output format is plain csv and is similar to the one used in IPP.
203      run "cxcoretest -t" and "cvtest -t".
204
205   -  Haartraining now automatically produces .xml database along
206      with the usual directory tree.
207
208   -  Script for creating custom dynamic library for a subset of IPP, used by OpenCV,
209      has been created. Look at opencv/interfaces/ipp
210
211   -  Several new functions have been added: Background/foreground segmentation
212      (see cvaux/include/cvaux.h, "Background/foreground segmentation" section and
213      cvaux/src/), cvHoughCircles (circle detection), cvPointPolygonTest,
214      cvRemap (generic geometrical transformation), cvLogPolar (log-polar transform),
215      cvEqualizeHist (histogram equalization), cvCornerHarris (Harris corner detector).
216
217   -  Camera calibration and epipolar geometry functions have been completely rewritten,
218      API was simplified, and docs updated.
219
220   -  New checkerboard detection algorithm (based on Vladimir Vezhnevets' code)
221      is now used.
222
223   -  cvCvtColor supports new color models (HLS, CIE L*u*v*),
224      for every RGB->something transformation the inverse is provided,
225      32f format is completely supported, 16u is partially supported.
226
227   -  Distance transform was extended to find the nearest connected component
228      of zero pixels for every pixel, not only the distance to it.
229
230   -  (Windows) Highgui now remembers positions of a last few opened windows in registry.
231
232 >>> Optimizations: <<<
233   -  The following functions have been optimized by using IPP when it is available:
234      morphology, linear and non-linear filtering (cvFilter2D, cvSobel, cvSmooth),
235      template matching, color conversions, geometrical transformations (cvResize,
236      cvWarpAffine, cvWarpPerspective, cvRemap), image moments
237      
238      And more with new IPP 5.0 (beta):
239      haar object detection, LK optical flow with pyramids, undistortion.
240
241   -  MatchTemplate has been completely rewritten to use DFT that resulted in
242      1 or 2 order(s) of magnitude faster operation.
243      Color images are now accepted (output is always 1-channel).
244
245   -  C version of morphology with rectangular elements is ~1.5-2x faster than in beta 4.
246
247   -  Most of image statistics functions have been rewritten with a noticeable performance gain.
248
249   -  A few other functions have been optimized: threshold,
250      background statistics accumulation, corner detectors (cvCornerMinEigenVal,
251      cvCornerEigenValsVecs, cvPreCornerDetect), distance transform, median filter (3x3),
252      lens undistortion
253
254 >>> Bug fixes: <<<
255
256   -  A lot of bugs have been fixed, thanks to all the people who submitted bug reports
257      and/or patches. The following functions have been fixed (this is incomplete list):
258
259      * cvFilter2D (crashed on floating-point images)
260      * cvDFT (bug in processing of long power-of-2 series),
261      * cvWarpPerspective & cvWarpPerspectiveQMatrix,
262      * cvSobel, cvErode, cvDilate, cvSmooth (occasionally ran beyond buffer boundaries)
263      * cvApproxPoly (left extra points on edges)
264      * cvConvexHull (handled 32f case incorrently)
265      * cvMinEnclosingCircle (sometimes the circle is not enclosing: fixed partially)
266      * cvFitEllipse (produced wrong results quite often, now it is much better)
267      * cvCanny (bug in non-maxima suppression stage)
268      * drawing functions (handled 16-bit images incorrectly)
269      * persistence functions (cvLoad, cvSave, cvRead*, cvWrite* etc.) (several bugs)
270      * color conversions (several bugs)
271      * cvResize (bottom row processing)
272      * Haartraining (several bugs)
273      * motion templates (a few bugs)
274
275 =============================================================================
276                    OpenCV beta 4, Friday, August 13, 2004
277 =============================================================================
278
279 >>> Global changes: <<<
280   -  cv library has been split into
281         cv (image processing and computer vision part)
282         and cxcore (basic functionality that is shared with OpenPNL)
283
284         so any application that was linked with cv should now be linked with both cv and cxcore.
285
286   -  DLLs now have a version number (096 for beta 4) in their names, so they do not
287      conflict with applications using libraries from previous (and future) OpenCV releases.
288      Import libraries on Windows do not have version numbers in their names.
289
290   -  Many of applications have been dropped/replaced with simple demo samples (see opencv/samples/c):
291      - Hawk, HMMDemo, VMDemo and vmdemotk have been dropped completely.
292      - LKDemo and cvlkdemo have been replaced with sample lkdemo.c
293      - HaarFaceDetect has been replaced with facedetect.c
294      - CamShiftDemo and cvcsdemo have been replaced with camshiftdemo.c
295
296   -  Some of obsolete functions, including e-HMMs, eigen objects, view morphing ...
297      have been moved from cv to cvaux.
298
299   -  A lot of external dependencies have been removed together
300      with corresponding demo applications: TCL/TK, FLTK, Motif, MFC
301
302   -  Pre-built binaries in windows distribution are now built using Intel Compiler 8.x
303      resulting in noticeable performance increase for many functions.
304      
305   -  On linux there is no cvcam anymore. Highgui should be used instead
306      Windows version of cvcam is also obsolete and will be removed as soon
307      as DirectShow support will be added to highgui.
308
309   -  Interfaces for EiC, Ch and MATLAB have been temporarily dropped.
310
311 >>> New features/functionality: <<<
312
313   -  Support for Miscrosoft Visual Studio .NET 2003 (see ../_make/*.sln) and
314      Borland C++ BuilderX (see ../_make/cbuilderx/*.bpgr) has been added.
315
316   -  More functions from IPP 4.x are supported.
317
318   -  Support for 16u (16-bit unsigned) type has been added.
319
320   -  New functions for arbitrary convolution (cvFilter2D),
321      geometrical transformations (cvWarpAffine, cvWarpPerspective) have been added.
322      Another 2 interpolation methods have been added to cvResize.
323
324   -  XML input/output has been completely rewritten. Now arbitrarily
325      complex structures may be easily read and very easily written to XML.
326      In parallel, YAML (www.yaml.org) is supported.
327
328   -  Haar object detection:
329        - the code has been transferred to cv
330        - trained classifiers are now stored in XML/YAML format
331          (there is still possibility to load classifiers from directories).
332        - support for classifiers trees, rather than cascades has been added
333          (see opencv/apps/haartraining/)
334        - more cascades for detecting frontal face, new cascades for detecting
335          profile face and body have been added (thanks to David Bradley,
336          Hannes Kruppa and Bernt Schiele). see opencv/data/readme.txt for details.
337        - classifier for detecting frontal face has been removed from the code.
338
339   -  Reference manual has been reorganized and it is now covers entire cxcore, cv
340      and highgui libraries.
341
342   -  New object-oriented test engine has been created. cxcore functionality
343      has been tested using it (see opencv/bin/cxcoretest.exe,
344      opencv/tests/{cxts;cxcore/src})
345
346   -  All the drawing functions now support antialiasing and multi-channel images
347      of arbitrary depth (earlier only single-channel images of depth>8bit were supported).
348      Floodfill also supports color floating-point images now.
349
350   -  Linux version of highgui now supports capturing video from cameras via
351      dc1394 and/or V4L2 (thanks to Magnus Lundin for the patch) (not tested!)
352
353   -  Linux version of highgui now uses GTK+ 2.x instead of Motif.
354
355   -  Several patches by Premnath Dubey have been applied to Windows version of cvcam.
356      It is now possible to set the camera resolution from within a program.
357
358 >>> Optimizations: <<<
359
360   -  DFT functions now use mixed-radix algorithm and, optionally,
361      DFT/FFT functions from IPP.
362
363   -  Now matrix multiplication is done by blocks resulting
364      in better cache utilization => better performance.
365      Optionally, gemm from Intel MKL can be used.
366
367   -  Lucas-Kanade Optical flow includes a few heuristics that significantly
368      improve performance (thanks to Alexander Kibkalo for the patch).
369
370   -  cvRound now uses inline assembly when built with Visual C++, Intel Compiler
371      or GCC 3.x (the latter is done via C99 lrint() function). That also
372      resolves the problem with Direct3D and few others (thanks to HCK (hengck23) for the hint).
373
374   -  Morphology with arbitrary-shaped element now processes only
375      the neighbors corresponding to non-zero coefficients (so cvFilter2D does)
376      in a single loop that gives +1.5x performance increase.
377
378   -  alloca() has been replaced by cvStackAlloc that returns an aligned pointer.
379      For some functions it improved performance a lot.
380
381   -  Arithmetic operations with mask are now done using non-mask operations +
382      copy with mask. It helps to engage IPP for such operations and is in general faster.
383
384   -  cvSeqSort and generic sorting macro (CV_IMPLEMENT_QSORT...) now use Berkeley qsort
385      that almost eliminates the worst (quadratic complexity) case and
386      improves performance on nearly-sorted sequences.
387
388   -  Some typical operations on data structures, such as retrieving sequence element,
389      retrieving graph edge, positioning sequence reader have been optimized for
390      faster average performance and smaller overhead.
391
392   -  Special vectorized versions of double-precision math functions (cvExp, cvLog etc.)
393      have been created. Optionally, ippvm from IPP is used when available,
394      which gives incredible performance improvement.
395
396 >>> Bug fixes: <<<
397
398   (this is an incomplete list ...)
399   -  Several bugs in cvSVD and cvSVBkSb have been fixed.
400      Thanks to Siddhartha Chaudhuri, John Coady and others for the reports and patches.
401   -  Probabilistic hough transform crashed
402      Thanks to Dave Grossman, Michael Bunk and others for the report.
403   -  Haartraining worked incorrectly without IPL.
404      Thanks to Robert (robert_021202) and others for the report
405   -  [SF bug #883138] in cvhaartraining library, function cvCreateMTStumpClassifier()
406      number of features was used instead of number of samples for memory allocation.
407      (Though, it did not cause troubles with the small-to-medium training databases we used)
408      Thanks to Alberto Albiol for the patch.
409   -  In haartraining the code for scaling features in case of using different from "standard" 24x24 window
410      was buggy. Thanks to Vasanth Philomin for the report.
411   -  cvMahalanobis() crashed on rows (not columns). Thanks to Irina Shevtsova for the patch.
412   -  CV_IMAGE_ELEM() macro has incorrect.
413      Thanks to Gabe (gjbrostow), Nicola Bellotto and many other people for the report and the patch.
414   -  Highgui had shift and control switched in Windows.
415      Thanks to Gabe (gjbrostow) for the patch
416   -  Matrix multiplication worked incorrectly on some small matrices.
417      Thanks to Changwen Xie for the report)
418   -  Stereo camera callibration contained buggy code for translation vector conversion.
419      Thanks to Ed Staub for the report)
420   -  cvRound worked incorrectly in single-precision FPU mode.
421      Thanks to Altay Murat and other people for the report and to HCK for the suggested solution.
422   -  cvRepeat worked incorrectly with multi-row source array
423      Thanks to Roman Stanchak for the patch.
424   -  Code for computing fundamental matrix could not be compiled under Linux
425      Thanks to Arngrimur Bjarnason, Shane Frasier and other people for the report.
426   -  [SF bug #937948]. MinEnclosingCircle did not returned _enclosing_ circle for some near-singular point configurations.
427      Thanks to unknown author for the report and the test sample.
428   -  [SF bug #926708]. cvConvexityDefects contained invalid error checking code.
429      Thanks to unknown author for the patch.
430   -  [SF bug #925821]. CalibFilter crashed on bottom-origin images.
431      Thanks to Philip Gruebele for the fix.
432   -  [SF bug #910296]. CImage::Create() did not check depth of already existing image.
433      Thanks to unknown author for the patch.
434   -  [SF bug #883199] cvInitMatHeader() did not initialize data pointer correctly.
435      Thanks to Zhang Li for the report.
436   -  In cvMinEigenVal kerSize was not actually used instead of blockSize.
437      Thanks to Frederic Devernay for the patch.
438   -  VFW capturing code in highgui created capturing window incorrectly.
439      Thanks to John Nagle for the patch.
440   -  cvMoments gave inaccurate results (1-pixel shift).
441      Thanks to Walter Vanzella for the report.
442   -  n-dimensional matrices have been initialized incorrectly.
443      Thanks to Ziqiang Liu for the patch.
444   -  Rotating calipers code, used in cvMinAreaRect2, handled almost collinear line segments
445      incorrectly. Thanks to vamfun for the patch (although the fixed it a little bit differently,
446      but used the same idea).
447   -  In highgui 16-bit BMP could not be loaded.
448      Thanks to Latha for the report.
449   -  cvCalcEMD2 checked the size of output flow matrix incorrectly.
450      Thanks to Duckhoon Kim for the patch.
451   -  [SF bug #898556] cvGetDimSize() always returned error. Thanks to unknown author for the report.
452   -  Multiple bugs in the reference manuals have been fixed. Thanks to Irina Shevtsova, Pavel Yarykin,
453      Stepan Dilman and others for the reports.
454   -  Several patches for better portability to Linux and IA64 have been applied
455      Thanks to Sam Hocevar.
456   ...
457
458
459 =============================================================================
460                    OpenCV beta 3.1, Thursday, February 27, 2003
461 =============================================================================
462
463 >>> New features/functionality: <<<
464
465   -  Fourier and Cosine transforms have been added (cvDFT & cvDCT)
466   -  CV_CAP_PROP_FRAME_COUNT property was added to CvCapture interface in HighGUI
467      (thanks to Asim Shankar)
468   -  Now some basic functions like cvAlloc, cvCreateMat, cvAdd etc. can handle
469      huge (>4Gb) matrices on 64-bit platforms (and, probably, 2-4Gb matrices on
470      32-bit Linux versions with specially patched kernels)
471      as long as their linear sizes still fit into 0..INT_MAX.
472   -  Another boosting base for frontal face detection (Gentle Adaboost 20x20) added:
473      opencv\apps\HaarFaceDetect\Frontal-GAB-20x20.zip. Uncompress it somewhere and
474      then you may pass the folder path to cvLoadHaarClassifierCascade() instead of
475      "<default_face_cascade>". Do not forget to change window size to 20x20 instead of 24x24.
476   -  Support for CH 3.5.0 (thanks to Wayne Cheng). 
477      CH is a scripting C/C++-like language - see www.softintegration.com for details
478
479 >>> Bug fixes: <<<
480
481   -  ipl.h was included incorrectly. 
482   -  Documentation and tests on 3dTracker have been updated, demo AVIs included.
483   -  cvSVD gave incorrect results if one of orthogoal matrices (U,V) was missing. 
484   -  cvSVBkSb gave incorrect results if matrix was a singular.
485   -  cvSolve gave incorrect results in case of small matrices (<= 4x4)
486   (thanks to Danielle Shor for reporting that and for the proposed solution on SVBkSb)
487
488   -  cvSolve and cvInvert damaged stack in some situation (CV_LU method)
489   -  cvDrawContours could not draw a single contour
490   -  highgui didn't allow ',' and '%' symbols in the file paths under Win32
491      (thanks to Dirk (yahoo@nogga.de)). ';' is still not allowed, because it is used
492      as a list separator for directory names.
493   -  built RPM could only be installed with --no-deps option.
494   -  Memory leak and CvSeq-related bug in persistence functions
495      (thanks to Danielle Shor)
496   -  "list" parameter name in cv.h conflicted with STL (thanks to Rud Merriam)
497   -  few patches from John Nagle have been incorporated (creating window in cvcap.h,
498      forcing "double sqrt(double)" overloaded function selection in C++ etc.)
499   -  Two bugs in face detection (feature weigth calculation) and haartraining have
500      been fixed (thanks to Vasanth Philomin for the reports and bug-fixes)
501   -  Memory leak in cvReleaseHist (thanks to Renatus Rohde)
502   -  Slow refresh of highgui windows under Linux.
503      The updated version uses shared mem extension.
504   -  cvcam failed sometimes when connecting two cameras
505      (Brian <the_sound_god@yahoo.com> provided patches to fix that)
506   -  cvReshape had the following bugs:
507         non-null reference counter,
508         NULL pointer as return value,
509         error message on nch=0 (which contradicts with documentation)
510      (Thanks to Cem DEMiRKIR <cdemirkir@hotmail.com> and <dalcalde@icarvision.com>)
511   -  cvRodrigues crashed sometimes (Thanks to <xeenja@yahoo.de> for the patch)
512   -  a few others (thanks to the people who reported about misc.
513                    problems in beta3 and/or proposed the patches)
514
515 =============================================================================
516                    Release OpenCV beta 3, Wednesday, November 27, 2002
517 =============================================================================
518
519 >>> New features/functionality: <<<
520
521   -  new more or less complete HTML reference (the grammar might be not very good)
522      see docs/ref
523
524   -  open source stereo code (modified variant of birchfield algorithm).
525      see cvaux/src/cvdpstereo.cpp)
526
527   -  Efficient face detection algorithm working with Haar-like features,
528      originally proposed by Paul Viola and improved by Rainer Lienhart
529      has been implemented. See opencv/apps/haarfacedetect demo
530
531   -  two FLTK-based demos: stereo and face detection
532      (apps/StereoDemo, apps/HaarFaceDetect)
533
534   -  IPL dependency has been removed from all the libraries and demos 
535
536   -  new installers for Windows (Inno Setup) and Linux (RPM generation using OpenCV.spec)
537
538   -  RANSAC algorithm for fundamental matrix computation has been implemented 
539      Function cvFindFundamentalMat is the new unified function for
540      fundamental matrix estimation and includes 7point, 8point, LMeds & RANSAC
541      algorithms.
542
543   -  3d Tracking added (I didn't tested it)
544
545   -  contour skeletons and linear contour models (cvaux\src\cvlee.cpp & cvlcm.cpp).
546      no examples/docs yet.
547
548   -  lot of improvements in highgui:
549      full support for JPEG, PNG, TIFF via libjpeg, libpng, libtiff.
550      grayscale images can now be saved and loaded
551      displaying current slider value,
552      platform independent mouse callbacks,
553      usable Linux version (Motif-based),
554      video processing:
555          Win32: VFW/MIL video capturing, frame-accurate avi reading/writing/positioning.
556          Linux: AVI reading via FFMPEG
557      see samples/c - all of them use highgui (ffilldemo.c demonstrates mouse handling,
558                                      motempl.c & facedetect.c - video processing etc.)
559
560   -  Data persistence: ability to save/load scalar values, arrays, sequences, graphs and
561      user-defined data structures to/from XML files has been added
562      see cvRead/cvWrite functions description in the manual
563
564   -  a lot of improvements in computational geometry and sequence processing
565         + support for floating-point/integer coordinates,
566         + Most of the contour/point_sequence operations can work with arrays now.
567         + Sequences now have CvMat compatible type id
568           (e.g. CV_32SC2 ~ CvPoint, CV_8UC1 - byte sequence etc.)
569
570   -  a few small demo scripts added (samples/c)
571
572   -  somewhat improved MATLAB interface, a few demos for it (interfaces/matlab)
573
574   -  Ch C/C++ interpreter interface (see interfaces/ch)
575
576   -  new (actually, the classical one) adaptive threshold algorithm (C-mean)
577      replaced the old buggy code (cv/src/cvadaptive...)
578
579   -  cvSolve & cvInvert now supports CV_SVD method (pseudo inverse).
580
581   -  Bayer->RGB conversion has been added
582      (the original code was submitted by Dirk Schaefer)
583      See cvCvtColor description in the manual
584
585   -  cvSmooth function added that can perform Averaging (simple Blur),
586      Gaussian, Median or Bilateral smoothing.
587
588   -  Matrix/vector operations have been extended:
589         cvGEMM  - BLAS-style extended matrix multiplication
590                   (value1 * Array1[^t] * Array2[^t] + value2 * Array3[^t])
591         cvAddWeighted - linear combination of 2 arrays with a shift
592                         (value1 * Array1 + value2 * Array2 + value3)
593         cvCmp, cvInRange - comparison functions.
594         cvDiv - element-wise division.
595         cvMul [modified] - scale factor added,
596         cvMin, cvMax - per element min/max
597         etc.
598
599   -  Floodfill has been greatly extended:
600       + color images support has been added
601       + fixed range option has been added (when the range is set relatively to
602         the seed point - not a neighbor point)
603       + a mask that marks alredy filled points can be passed to the function
604       See cvFloodFill description in the manual
605
606   -  Motion segmentation is now more or less ok.
607      See samples/c/motempl.c demo script (run it on camera if possible)
608
609   -  All math functions now work with CvMat/IplImage -
610      not with raw floating-point arrays
611      see cvCartToPolar, cvPolarToCart, cvPow, cvExp, cvLog
612      description in the manual
613
614   -  RNG can generate normally-distributed random numbers
615      see cvRandInit description in the manual
616
617   -  Histogram structures and functions have been completely reworked.
618      + Now they contain dense (CvMatND) or sparse (CvSparseMat) arrays,
619        so arbitrary array processing functions can be applied to it.
620      + cvSetHistBinRanges is now optional when histogram or back projection
621        is calculated using 8u images.
622
623   -  Camera.cpp in apps/common now supports format decompressor (ICM), so
624      LkDemo and HMMDemo can work with arbitrary video formats.
625
626 >>> Bug fixes: <<<
627   -  CvImage destructor had memory leak  
628   -  cvInvert & cvSolve process 2x2 and 3x3 matrices correctly now (finally).
629   -  cvMul didn't work correctly for small matrices
630   -  cvConvertScale had a bug in inplace mode
631   -  cvvShowImage in highgui for Linux "was only working by luck"
632      (thanks to David Ackley for the patch)
633   -  Reading PPM files caused a crash (thanks to Michael D. Beynon for the patch)
634   -  Makefiles for Borland C++ free 5.5 were fixed
635      (thanks to Ben Terraint for the patch),
636      processor detection code was rewritten to avoid inline assembly, so
637      TASM is not needed anymore.
638   -  cvPyrDown failed if the source image does not have even width and height
639   -  EMD bug has been fixed
640   -  Memory leak in cvFindChessBoardCornerGuesses fixed
641   -  ConvexHull removed points lieing on the convex hull line segments
642   -  Reading images using highgui in multiple threads caused crash
643   -  Various memory leaks with CvImage have been fixed by removing static configuration
644      of cv library. Now it is dynamic only.
645
646 >>> The following problems have been noticed or may still remain: <<<
647
648   -  IppCV is not shipped. Download it separately from Intel site.
649   -  Affine optical flow may still not work
650   -  HMMDemo recognition results greatly depend or lighting conditions.
651   -  Documentation and examples for most of cvaux functions are not provided
652   -  3dTrackerDemo has not been tested,
653      because of older DirectShow graph format in the package.
654   -  IPL headers being included after OpenCV headers cause compiler error.
655      So, include ipl.h _before_ cv.h[pp]
656   -  Highgui scripts working with sliders may crash upon exit
657      when build with Borland C++ 5.5
658      
659 =============================================================================
660                    Release OpenCV beta 2.1, Friday, November 30, 2001
661 =============================================================================
662
663 >>> New features/functionality: <<<
664
665   -  IPL is not required nor by OpenCV neither by demos anymore
666      (even under Win32 and even in default configuration).
667      Tests still need it. To get into full IPL-compatibility mode, call
668      CV_TURN_ON_IPL_COMPABILITY() on your program startup. It is needed only if
669      the code mix OpenCV/IPL image allocation/deallocation functions. 
670
671   -  Makefiles to build cv, cvaux and highgui libraries with Visual C++ 6.0,
672      Borland C++ 5.5 (free), Intel C++ Compiler 5.0 and Mingw GNU C++ 2.95.3 added.   
673   -  Arithmetic and logical operations (w/o mask support) were optimized using
674      MMX and SSE instructions.
675   -  Positions of depth and numchannels flags in CvMat "type" field were exchanged.
676      Now CV_8U == CV_8UC1, CV_32F == CV_32FC1 etc.
677   -  Definition of rows/height and cols/width fields of CvMat was changed to provide
678      C -> C++ code compatibility.
679   -  Non-planar objects support added into cvFindExtrinsicParams 
680   -  A few more color transforms bgr/rgb <-> gray added.
681   -  New function cvRand for filling CvMat/IplImage with uniformly distributed
682      random numbers added
683   -  New function cvResize for image zooming/shrinking with nearest-neigbor
684      or bilinear interpolation was added
685   -  Texture descriptors calculation was added to cvaux library.
686   -  Faster image segmentation was added to cvaux library
687   -  new ippcv binaries included (previous release contained somewhat outdated binaries).
688   -  calibration filter uses batch-mode undistortion now (cvUnDistortInit + cvUnDistort)
689   -  C++ calibration + stereo rectification class was added to cvaux.
690
691 >>> Here is the list of fixed bugs: <<<
692
693   -  3x3 matrix inversion was incorrect
694   -  minmaxloc returned wrong extrema positions in case of
695      continuous input arrays (i.e. w/o gaps between subsequent rows)
696   -  arithmetic operations cvAddS and cvSub[R]S produce wrong result on small
697      input arguments
698   -  the package could not be built with gcc 2.96 under linux
699   -  cvFillImage function was missed 
700   -  cvRound, cvFloor and cvCeil functions worked incorrectly
701      when 80-bit internal precision was set (it is a default mode under Linux).
702      Also, the function were slightly inaccurate even with 64-bit internal precision set.
703   -  cvRound, cvFloor, cvCeil and cvSetIdentity functions worked incorrectly at
704      big-endian processors (i.e. on processors, where the most significant byte goes first)
705   -  Several pieces in the library were not portable to 64-bit processors
706   -  cvFindChessBoardCornerGuesses could not find chess board in some particular cases.
707      The current solution is just some workaround and playing with thresholds.
708      Better method is ahead.
709
710 The following problems still exist:
711 ======================================
712 1. FitEllipse doesn't work properly when input points are almost on the single line.
713    In alpha 3.4 it output infinite values. In this release it outputs all zeros.
714
715 2. FindFundamentalMatrix - the same. Inaccurate result in some cases.
716  
717
718 =============================================================================
719                    Release OpenCV beta 2, Friday, August 14, 2001
720 =============================================================================
721
722   1. CvMat structure can be used passed to almost any function that accepts IplImages
723      and vice versa. It is done via introduction of dummy type CvArr which is synonym
724      for void*.
725   2. The following basic matrix/image operations were added:
726       arithmetics (+,-,*)
727       logic (and,or,xor)
728       helper operations (copy,set,mirror)
729       color transforms
730
731       arithmetics (+,-) and logic operations accept mask as an optional parameter
732
733   3. The library reference manual has been restructurized. Now all the material is
734      divided into programmer guide and function reference. Each of these parts
735      is split into 6-7 major areas, covered by the library.
736
737   4. Image statistics, background accumulation and some other function groups
738      extended to handle wider sets of images/matrices formats.
739
740   5. Mask support added to cvGoodFeaturesToTrack
741
742   6. Drawing functions can now be used with floating-point images and extended
743      with 4-connectivity variants (connectivity is passed as an optional parameter).
744      cvDrawContours accept negative maximal level value, which means draw (or paint)
745      the passed contour and all its children up to abs(max_level) level, so
746      hack with clearing h_next field during connected components labeling is not
747      need any more.
748
749   7. cvSVD improved. It can now handle both m >= n and m < n cases and it is faster
750      than the previous variant. cvPseudoInv function is added that calculates
751      pseudo-inverse for given matrix (Only m >= n is handled properly right now).
752
753   8. cvSeqPush[Front] and cvSeqInsert return pointer to the inserted element.
754
755   9. More experimental stuff has been added (including graph traversal functions,
756      etc). It resides in the separate library CvAux
757
758   10. Morphology functions speeded up (arbitrary structuring element case).
759
760 >>>Here is list of bug fixes:<<<
761
762 The following bugs have been fixed still OpenCV beta 1:
763 ==========================================================
764
765 The library:
766 -------------
767
768 1. Scharr filter now works properly. Use cvSobel with aperture size = CV_SCHARR.
769
770
771 The following problems still exist:
772 ======================================
773 1. FitEllipse doesn't work properly when input points are almost on the single line.
774    In alpha 3.4 it output infinite values. In this release it outputs all zeros.
775
776 2. FindFundamentalMatrix - the same. Inaccurate result in some cases.
777
778 =============================================================================
779                    Release OpenCV beta 1, Friday, January 12, 2001
780 =============================================================================
781
782   1. Intefaces of many functions have been changed. See interface_changes.txt for
783      details.
784   2. Plenty of bugs have been fixed.
785   3. Manual has been improved greatly - many bugs have been fixed, index added.
786   4. StereoGR application has been included into the package.
787   5. Some of experimental stuff has been added. It resides in the separate library CvAux
788
789 >>>Here is status on bugs:<<<
790
791 The following bugs have been fixed still OpenCV alpha 3.4:
792 ==========================================================
793
794 The library:
795 -------------
796
797 1. Kalman tracker worked incorrectly in the case when number of state parameters
798    and measurement parameters were different.
799 2. Kalman filter didn't released some memory in cvReleaseKalman
800 3. ConDensation filter crashes when pointer to output data is NULL, now the
801    additional check is added.
802 4. MulTransposed produced inaccurate results in some cases.
803 5. Perspective Transform function failured when taking certain input (valid) parameters.
804 6. EigenVV function corrupted memory (Jacobi method)
805 7. PreCornerDetect corrupted memory.
806 8. Threshold crashed on P4.
807 9. Laplace crashed in most of cases.
808 10. Optimized DLL loaded has been fixed to recognize P4
809 11. Segment Motion produced incorrect results
810 12. Rodrigues produced wrong results in some cases.
811 13. Convex hull output duplicating points in some cases.
812 14. Active contour functions didn't handle CV_ARRAY flag properly.
813     cvSnakeImageGrad had not worked at all.
814     Note, that cvSnakeImageGrad is now the default mode of cvSnakeImage.
815 15. Camera calibration had memory leak
816 16. FloodFill had memory leak
817 17. AdaptiveThreshold had memory leak
818 18. CalcHistMask had memory leak
819 19. HMM recognition pipeline had serious algorithmic bug that affected on
820     recognition rate.
821 20. One of OptCV functions had memory leak.
822 21. Error codes of low-level and high-level parts of the library were inconsistent
823     that often caused confusing error messages.
824 22. ApproxChains sometimes output one extra point in "simple" approximation mode.
825     Note, that "simple" mode worked correctly in FindContours.
826 23. ApproxPoly didn't approximate large contours properly.
827 24. GetRectSubPix crashed when center of extracted rectangle was outside the image
828 25. FindChessCornerGuesses almost never detected chess board corners at
829     640x480 resolution.
830 26. Ellipse was drown incorrectly in some combination of axes sizes and rotation angle.
831 27. PtInCircle function (_cvgeom.h) worked incorrectly
832 28. cvReadChainPoint worked incorrectly with chains with more that one sequence blocks.
833 29. Central moments of contours were wrong.
834
835 Applications and other libraries
836 --------------------------------------
837 1. High GUI sometimes did wrong image conversion.
838    Also, some superfluous conversion have been removed.
839 2. Spaces in Hawk executble path caused incorrect program behaviour.
840
841
842 The following problems still exist:
843 ======================================
844 1. FitEllipse doesn't work properly when input points are almost on the single line.
845    In alpha 3.4 it output infinite values. In this release it outputs all zeros.
846
847 2. SVD still has problems - inaccurate result in some cases.
848 3. FindFundamentalMatrix - the same. Inaccurate result in some cases.
849
850
851 =============================================================================
852                    Release OpenCV 00.00.34, Monday, October 23, 2000
853 =============================================================================
854
855   I. Instead of one set of optimized DLLs we have now two: OptCV and IppCV.
856      Windows and Linux versions are supplied. Much more optimized codes
857      are engaged by OpenCV.
858
859 ---------------------------------------------------------------------------------
860
861   IIa. The following bugs have been fixed:
862   1. Memory leaks in HMMDemo.
863   2. Crashes in multi-threaded allocations.
864   3. Compilation bug on Linux (comparing integer with pointer)
865   4. Incorrect behavior of DP polygon approximation in some cases.
866   5. K-means bug (it performs no more than 2 real iterations)
867   6. Threshold bug has been fixed (given unaligned data, it crashed on PIII)
868
869   6.5. The repeatedly reported bug in MatchTemplate has been fixed in previous release.
870   
871   IIb. The following bugs are still present in the library:
872   1. cvFindExtrinsicCameraParams[_64d] doesn't handle non-planar objects properly
873      (i.e., it fails when some of 3rd coordinates of object points are non zero)
874   2. The noticed bugs in the manual present in old variant, new variant
875      (which is incomplete yet) is fixed.
876   3. Motion segmentation still produces incorrect results, but they are better than
877      previous version.
878
879   Not a bug, but a mis-feature: OpenCV still depends on IPL.
880   
881   IIc. The following bugs could'nt be reproduced by the team:
882   1. cvGoodFeaturesToTrack doesn't support ROI smaller than image.
883   2. cvCalcOptFlowPyrLK crashes at 640x480 resolution.
884
885   IId. Newly appeared known bugs:
886   1. cvMinEigenVal doesn't work properly now.
887   2. Therefore, cvGoodFeaturesToTrack produces incorrect results.
888
889
890 =============================================================================
891                    Release OpenCV 00.00.33b, Monday, September 13, 2000
892 =============================================================================
893
894   I. License is fixed to confirm Open Source project status.
895      It is placed into all headers.
896
897 ---------------------------------------------------------------------------------
898
899   VIIIa. The following bugs have been fixed:
900   1. A bug, preventing OpenCV from loading primitives, has been fixed (again!).
901   2. Caliration filter has been fixed (error was present only in "September 4" release).
902   3. Several bugs in delaunay+voronoi subdivision functions have been fixed.
903      Script delaunay.c is added to demostrate their work.
904
905   VIIIb. The following bugs are still present in the library:
906   1. cvFindExtrinsicCameraParams[_64d] doesn't handle non-planar objects properly
907      (i.e., it fails when some of 3rd coordinates of object points are non zero)
908   2. The noticed bugs in the manual present in old variant, new variant
909      (which is incomplete yet) is fixed.
910   3. Motion segmentation still produces incorrect results, but they are better than
911      previous version.
912
913   VIIIc. The following bugs could'nt be reproduced by the team:
914   1. cvGoodFeaturesToTrack doesn't support ROI smaller than image.
915   2. cvCalcOptFlowPyrLK crashes at 640x480 resolution.
916
917 =============================================================================
918                    Release OpenCV 00.00.33a, Monday, September 4, 2000
919 =============================================================================
920
921   I. OpenCV begins use new IPP libraries. Because IPP works not only on Win32
922      systems, but under Linux as well, it allows to use IA32-optimized codes
923      under Linux. The IPP binaries are called ippa6.dll,ippm6.so etc.
924
925   II.Calibration application by Chris Halsall has been included into Linux version
926      of the library. Visit www.wabbit.com/ocv for more information and updates.
927
928   III. We moved to IPL v.2.2.
929
930   IV. Vision Scripting Environment (a.k.a Hawk) has been included into package.
931       It is application that integrates C iterpreter (modified version of
932       EiC. Original EiC site is located at http://www.kd-dev.com/~eic/),
933       simple graphic library (highgui) and OpenCV+IPL (but, actually, any shared
934       library can be attached to the application as plugin).
935       The application allows write and run short scripts in C
936       and see graphical results. Look at doc\Hawk.pdf for details.
937
938   V. Updated calibration toolbox for MATLAB has been included into the package.
939
940   VI. Adaptive threshold and draft code for planar subdivisions (delaunay triangulation &
941      voronoi tesselation) have been added to the library.
942
943   VII. More than half of manual has been refined, many bugs/misprints have been fixed.
944        It is put to doc\OpenCV_new.pdf file. Old version is still available, because
945        it is more complete for the moment.
946
947 ---------------------------------------------------------------------------------
948
949   VIIIa. The following bugs have been fixed:
950   1. cvFloodFill works incorrectly with images, which height is 2.
951
952   VIIIb. The following bugs are still present in the library:
953   1. cvFindExtrinsicCameraParams[_64d] doesn't handle non-planar objects properly
954      (i.e., it fails when some of 3rd coordinates of object points are non zero)
955   2. All the noticed bugs in the manual stil present.
956   3. Motion segmentation produces incorrect results.
957
958   VIIIc. The following bugs could'nt be reproduced by the team:
959   1. cvGoodFeaturesToTrack doesn't support ROI smaller than image.
960   2. cvCalcOptFlowPyrLK crashes at 640x480 resolution.
961
962 =============================================================================
963                    Release OpenCV 00.00.33, Tuesday, August 1, 2000
964 =============================================================================
965
966   I. The following bugs have been fixed:
967   1. cvRodrigues: checks for null input pointers were absent.
968      Also, calculation of Jacobian has been made optional.
969   2. Due to Daniel Small: SVDsym routine in cvCalibration has loop with
970      incorrect counter incrementation.
971   3. Due to Michael Strnad: Optimized DLLs were not loaded properly in Release
972      configuration.
973
974   II.The following new functionality/features have been added:
975   1. Linux port of the library has been prepared. It has been done independently
976      from Andy Tai package. It includes IPL version for Linux
977
978
979   III. The following bugs are still present in the library.
980   1. cvFindExtrinsicCameraParams[_64d] doesn't handle non-planar objects properly
981      (i.e., it fails when some of 3rd coordinates of object points are non zero)
982   2. All the noticed bugs in the manual stil present.
983
984 =============================================================================
985                    Release OpenCV 00.00.32, Tuesday, Jule 4, 2000
986 =============================================================================
987
988   I(a). CV library
989   The following bugs have been fixed:
990   1. cvCalcBackProject crashes due to invalid code, produced from
991      construction
992        __try
993        { ; /* !!! */
994           // code ...
995        }
996        __finally
997        {
998           // more code ...
999        }
1000   2. cvCalcHist crashes if cvSetHistThresh is not called before it.
1001   3. Kalman filter checks Measurement vector size incorrectly.
1002   4. cvMatchTemplate checks output image size incorrectly.
1003   5. cvNormMask doesn't work properly when DLLs with optimized codes present.
1004
1005   I(b). The following new functionality/features have been added:
1006   1. cvProjectPoints exposed in the external interface
1007   2. Pyramids' performance have been improved by 15-30% for unsigned char and char
1008      formats (downsampling functions, non open source codes).
1009   3. Faster version of cvUndistort has been added. It uses precalculated table,
1010      that is initialized by cvUndistortInit function. The former functions has been
1011      renamed to cvUndisortOnce.
1012
1013   II. Other Libraries
1014   1. Bug fixed: color JPEG were read incorrectly by cvlgrfmts
1015
1016   III. Filters/Applications.
1017   1. Bug fixed: Sometimes incorrect (empty) position could be selected in image base
1018      view.
1019   2. The following features have been added to HMMDemo:
1020      + Buttons "Select whole image" and "Delete HMM info" have been appeared on toolbar
1021      + Multiple images can be loaded and added to the base
1022   3. Behaviour of CalibFilter has been changed. Now it works with top-origin images
1023      instead of bottom-origin ones.
1024
1025   IV. The following bugs are still present in the library.
1026   1. cvFindExtrinsicCameraParams[_64d] doesn't handle non-planar objects properly
1027      (i.e., it fails when some of 3rd coordinates of object points are non zero)
1028   2. The following known bugs/drawbacks in the documentation still exist:
1029      2.1) In the manual, page 5-10, cvSobel: The description is for cvLaplace.
1030      2.2) Examples of pixel access macros are absent.
1031
1032 =============================================================================
1033                    Release CVL 00.00.31, Monday, June 5, 2000
1034 =============================================================================
1035
1036 General
1037 ---------------------------------------------
1038 o   Web Site, describing the library, has been created
1039 o   Official documentation on applictions and DShow filters has been added.
1040 o   Library manual was completed
1041 o   CV library binaries are DLLs now.
1042
1043
1044 Functionality improvements/extensions/addings
1045 ---------------------------------------------
1046
1047 o   DShow tracking filters' interface has been simplified
1048 o   A few bugs in the library and applications fixed.
1049
1050
1051 =============================================================================
1052                    Release CVL 00.00.30, Friday, May 29, 2000
1053 =============================================================================
1054
1055 General
1056 ---------------------------------------------
1057 o   Additonal documentation have been added.
1058 o   Library executables were renamed to CV[d].lib
1059
1060
1061 Functionality improvements/extensions/addings
1062 ---------------------------------------------
1063
1064 o   cvGoodFeaturesToTrack has been improved
1065 o   congruental RNG was replaced with MWC.
1066
1067
1068 Optimization
1069 --------------------------------------------------------------------
1070
1071 o   4 of pyramids functions have been optimized for WMT
1072
1073
1074 =============================================================================
1075                    Release CVL 00.00.29, Friday, May 19, 2000
1076 =============================================================================
1077
1078 General
1079 ---------------------------------------------
1080 o   Many documentation have been added.
1081
1082
1083 Functionality improvements/extensions/addings
1084 ---------------------------------------------
1085
1086 o   Application for Lucas-Kanade pyramid optical flow tracking was implemented
1087 o   Matrix functions have been wrapped.
1088 o   Script for gesture recognition was corrected to work with CVLib
1089     Its name is create_hand_mask_new.c.
1090 o   Interface of camera calibration filter has been simplified another time.
1091     
1092
1093 =============================================================================
1094                    Release CVL 00.00.28, Monday, May 15, 2000
1095 =============================================================================
1096
1097 General
1098 ---------------------------------------------
1099 o   CVL was renamed to CVLib.
1100 o   All the existing classes and functions of CVL changed their prefices to cv(Cv) -
1101     Their declarations are in CV.hpp now
1102 o   All the low-level functions (C versions) were copied from ippCV to CVLib.
1103     Their prefices are _cv, header is _CV.h.
1104 o   Wrappers have been made for almost all low-level functions.
1105     Their declarations are in CV.h (it is a main library interface file)
1106 o   Most of the wrappers have been tested (IppCV tests have modified to call wrappers).
1107 o   Binaries of ippCV were renamed to cvXXX.dll. They can be loaded by special 
1108     CV function - 
1109 o   Almost all the applications (VMDemo, Hawk, Calibration filter,HMMDemo)
1110     have been modified to call new library.
1111
1112
1113 Functionality improvements/extensions/addings
1114 ---------------------------------------------
1115
1116 o   Application for Hidden Markov Models demonstration has been implemented.
1117 o   Calibration pipeline has been completely reorganized to do all the calculations
1118     in double precision.
1119     
1120
1121 Optimization
1122 --------------------------------------------------------------------
1123
1124 o   HMM has been greatly speeded up (~10 times)  due to faster log,exp implementations.
1125
1126
1127 =============================================================================
1128                    Release CVL 00.00.27, Saturday, April 29, 2000
1129 =============================================================================
1130
1131 General
1132 ---------------------------------------------
1133 o   ippiCVL was renamed to ippCV everywhere
1134
1135 Functionality improvements/extensions/addings
1136 ---------------------------------------------
1137
1138 o   Calibration filter has been slightly improved:
1139       Filter state is saved/restored when filter graph is saved/loaded.
1140       Restriction on etalon square size was weaken, so larger etalon can be handled
1141       Bug fixed. Now, etalon parameters can be changed.
1142
1143 o   Tested Lucas-Kanade pyramid based optical flow is in the library already!
1144     (Several bugs were fixed).
1145 o   Histograms:
1146       Multi-dimensional histograms (on balanced trees) have been trasferred to ippCV.
1147          All the functions tested.
1148       CalcBayesProb function was added (it calculates P(object[i]|observation) i=1,n
1149        given histograms H(observation|object[i])) 
1150 o   Version of HMM face recognition added into project. Data structures were simplified
1151     (comparing to draft version)
1152 o   Script, implementing recognition part of gesture recognition pipeline, has been written
1153     and tested on recieved data (from MATLAB package)
1154 o   SVD function (double precision) was added and tested.
1155
1156 Optimization
1157 --------------------------------------------------------------------
1158
1159 o   Function for retrieving observations from the raster image (few DCT coefficients from
1160     every blocks (which are overlapped)) has been optimized in C and for MMX. Gain is >10x.
1161 o   PX version of convolution functions (Sobel family filters) have been optimized.
1162     Performance gain is >3x.
1163 o   New versions of functions from "eigen objects" group have been optimized for PIII.
1164
1165 =============================================================================
1166                    Release CVL 00.00.26, Friday, April 14, 2000
1167 =============================================================================
1168
1169 General
1170 ---------------------------------------------
1171 o   IPPM has been embedded into ippCV. External functions were placed into
1172     ippiCvl.h
1173
1174 Functionality improvements/extensions/addings
1175 ---------------------------------------------
1176
1177 o   Calibration filter has been improved:
1178       Interface simplified - buttons "Track etalon", "Enable processing" have gone.
1179       Loading camera parameters implemented.
1180       Bug fix: 3D window closes when filter is deleted. Also it can be hided/shown
1181       dynamically. 
1182       Sub-pixel corner finder is implemented. It is activated by switching "Fine tuning"
1183       check box.
1184       Camera parameters are shown in status window
1185       View blinks when frame is grabbed
1186
1187 o   Extracting rectangle with sub-pixel accuracy was added.
1188 o   Lucas-Kanade pyramid based optical flow was added (not tested yet).
1189 o   Histograms:
1190       BackProjectPatch was implemented.
1191       Wrappers for CalcHist and CalcBackProject were added.
1192 o   Draft version of HMM face recognition.
1193 o   Eigen Objects functions were extended to support partite input/output
1194 o   Several functions for gesture recognition pipeline:
1195       2D line fitting with several metrics (ippiFitLine2D). 
1196       Batch perspective transform on array of 3D points. (ippiTransformVector3x1P_32f)
1197       Projecting array of 3D point to one of the coordinate plane (ippiProject3D)
1198       Calculation of image homography matrix (ippiCalcImageHomography)
1199       Finding initial hand region (ippiCreateHandMask)
1200 o   Function for calculating minimal eigen value for raster image has been added.
1201     (ippiCornerMinEigenValC1R)
1202 o   Hough transform (multi-scale version) has been improved to handle correctly
1203     case of big angle delta
1204
1205 Optimization
1206 --------------------------------------------------------------------
1207
1208 o   2D line fitting has been optimized using MMX/SSE (gain 60-100%).
1209 o   ippiCornerMinEigenVal(8u/8s/32f)C1R has been optimized for MMX/SSE (gain ~200%)
1210
1211
1212 =============================================================================
1213                    Release CVL 00.00.25, Thursday, March 31, 2000
1214 =============================================================================
1215
1216 General
1217 ---------------------------------------------
1218 o   Sources of algorithmic and performance tests have been moved into separeate
1219     folders
1220 o   Environment variable has been introduced to support custom version of Proton
1221     to compile the library.
1222
1223 Functionality improvements/extensions/addings
1224 ---------------------------------------------
1225
1226 o   Piece of code, which reorders found corners on checkerboard has been moved from
1227     calibration filter to library function that finds the corners.
1228
1229 o   ippiSharr filters to calculate image derivatives more
1230     precisely have been added .
1231
1232 o   Histogram calculation with mask support has been added.
1233
1234 o   Contour retrieving functions have been reorganized.
1235     Now, there is a single function working with byte-depth image
1236     that supports 4 different modes of contour retrieval which are superset
1237     of previous two functions.
1238
1239 o   Pyramid-based color segmentation interface has been changed. It returns
1240     a sequence (IppiSeq) of connected components instead of array.
1241
1242 o   Fitting line via M-Estimators has been added.
1243
1244 o   Pixel access macroses have been extended to support BL images.
1245
1246 o   Functions to make image undistortion for input from camera have been added.
1247     Simple (nearest neighbor) and antialiazed (bilinear interpolation) modes are
1248     available.
1249
1250
1251 Optimization
1252 --------------------------------------------------------------------
1253
1254 o   Sobel filters have been optimized another time for MMX and SSE (~60-80% speed up).
1255     This cause speed up of related functions - Canny Edge Detector, PreCornerDetect,
1256     Motion templates etc. Newer Sharr filter has also been optimized in the similar manner. 
1257 o   Pyramid based color segmentation has been optimized for PII. (>2x performance gain).
1258 o   Undistortion function has been optimized for MMX/SSE.
1259 o   Histogram and backproject calculation has been greatly optimized ( >5x gain).
1260 o   Line fitting (M-estimators) has been optimized for SSE (~2x gain).
1261 o   Many image statistic functions (CountNonZero, SumPixels, MeanMask, Mean_StdDev,
1262     Mean_StdDevMask - 34 functions total ) have been optimized for WMT.
1263
1264
1265 Scripting Environment/Scripts
1266 -----------------------------------------------
1267 o   Several bugs were fixed, so the application becomes much more stable.
1268
1269
1270 =============================================================================
1271                    Release CVL 00.00.24, Wednesday, March 1, 2000
1272 =============================================================================
1273
1274 Additions (March 3, 2000)
1275 --------------------------
1276 o   Updated library manual
1277 o   Updated calibration filter and document on it (CalibFilter.doc)
1278
1279
1280 General
1281 ---------------------------------------------
1282 o   Almost all the data types have been renamed
1283     (first letters were capitalized)
1284     ippiSequence and related data types' names were made shorter    
1285 o   Wrappers, working with IplImage were added into CVL:
1286     morphology, pyramids, drawing, statistics, background differencing,
1287     motion templates.
1288
1289 Functionality improvements/extensions/addings
1290 ---------------------------------------------
1291
1292 o   Calibration filter with 3D view of calibration etalon
1293     (after calibration is completed)
1294
1295 o   Face details recongition script.
1296
1297 o   Sequence (ippiSeq) has been extended to support fast insertion and removing
1298     of elements into/from the beginning (I.e it is deque now).
1299 o   Histograms
1300     -----------------------------------------------
1301       o ippiCalcBackProject(8u/8s/32f)C1R
1302
1303 o   Pyramids
1304     -----------------------------------------------
1305       o Pyramid-based segmentation
1306            ippiPyrSegmentation8uC1R
1307            ippiPyrSegmentation8uC3R
1308
1309 o   Thresholds
1310     -----------------------------------------------
1311       o ippiThreshold(8u/8s/32f)C1R have been extended - non-inplace mode
1312         support was included, max_val parameter was added into 8u/8s functions
1313         (it is used for IPPI_THRESH_BINARY and IPPI_THRESH_BINARY_INV modes)
1314
1315 o   Utilities
1316     -----------------------------------------------
1317       o AbsDiff declaration have been modified to support non-inplace operation
1318           ippiSampleLine(8u/32f)C1/C3R
1319           ippiInitLineIterator(8u/32f)C1/C3R
1320
1321 o   Drawing
1322     -------------------------------------------------------
1323       o ippiThickEllipse, ippiEllipseSector, ippiPolyLine, ippiPolyLineAA,
1324         ippiDrawContours (8uC1 flavor)
1325
1326 Optimization
1327 --------------------------------------------------------------------
1328 o   Canny edge detector has been optimized using MMX
1329
1330
1331 Scripting Environment/Scripts
1332 -----------------------------------------------
1333 o   AVI support added
1334 o   More advanced text editor in Hawk
1335
1336 =============================================================================
1337                    Release CVL 00.00.23, Monday, February 16, 2000
1338 =============================================================================
1339
1340 Functionality improvements/extensions/addings
1341 ---------------------------------------------
1342
1343 o   Sequence has been merged with RWSequence
1344 o   Histograms
1345     -----------------------------------------------
1346       (only histograms on arrays are supported now)
1347       o ippiCalculateHist(8u/8s/16s/32f)C1R
1348
1349 o   Contours
1350     -----------------------------------------------
1351       o Calculating convexity defects
1352            ippiConvexityDefects
1353       o Checking a contour for convexity
1354            ippiCheckContourConvexity
1355
1356 o   Motion Templates
1357     -----------------------------------------------
1358       o Motion segmentation: ippiMotionSegment32fC1R
1359
1360 o   Utilities
1361     -----------------------------------------------
1362       o Line samplers and iteration through the line:
1363           ippiSampleLine(8u/32f)C1/C3R
1364           ippiInitLineIterator(8u/32f)C1/C3R
1365
1366 o   Drawing
1367     -------------------------------------------------------
1368       o ippiPutText supports bottom-origin image orienation
1369         by specifying negative step
1370
1371 o   Pyramids
1372     -----------------------------------------------
1373       o Pyramid-based segmentation: ippiPyrSegmentation8uC1R
1374
1375 Tests
1376 ---------------------------------------------------
1377 o   All the existing histogram functions were tested
1378 o   Sequence, Set and Graph structures were tested
1379
1380
1381 Optimization
1382 --------------------------------------------------------------------
1383 o   All the floodfill functions have been optimized algorithmically.
1384
1385
1386 Scripting Environment/Scripts
1387 -----------------------------------------------
1388 o   Views were enhanced
1389 o   Support for sliders was added.
1390
1391
1392 =============================================================================
1393                    Release CVL 00.00.22, Monday, January 31, 2000
1394 =============================================================================
1395
1396 Functionality improvements/extensions/addings
1397 ---------------------------------------------
1398
1399 o   New data structures
1400     -----------------------------------------------
1401     o new function for sequences - ippiGetSequenceElementIndex
1402     o Read/Write Sequence (ippiRWSequence)
1403       o ippiCreateRWSequence
1404       o ippiReleaseRWSequence
1405       o ippiPushToRWSequence
1406       o ippiPopFromRWSequence
1407       o ippiPushToRWSequenceMulti
1408       o ippiPopFromRWSequenceMulti
1409       o ippiClearRWSequence
1410       o ippiInsertToRWSequence
1411       o ippiRemoveFromRWSequence
1412
1413     o Set (ippiSet)
1414       o ippiCreateSet
1415       o ippiReleaseSet
1416       o ippiClearSet
1417       o ippiAddToSet
1418       o ippiRemoveFromSet
1419       o ippiFindSetElem
1420
1421     o Graph (ippiGraph)
1422       o ippiCreateGraph
1423       o ippiReleaseGraph
1424       o ippiClearGraph
1425       o ippiAddVertexToGraph
1426       o ippiRemoveVertexFromGraph
1427       o ippiAddEdgeToGraph
1428       o ippiRemoveEdgeFromGraph
1429       o ippiFindGraphEdge
1430       o ippiFindGraphVertex (macro)
1431       o ippiCalcGraphVertexDegree
1432
1433 o   Histograms
1434     -----------------------------------------------
1435       (only histograms on arrays are supported now)
1436       o ippiCreateHist
1437       o ippiReleaseHist
1438       o ippiMakeHistHeaderForArray
1439       o ippiQueryHistValue
1440       o ippiGetHistValue
1441       o ippiThreshHist
1442       o ippiGetMinMaxHistValue
1443       o ippiNormalizeHist
1444       o ippiCompareHist
1445
1446 o   Eigen faces
1447     -----------------------------------------------
1448       o ippiCalcCovarMatrix_8u32f(R) (non-ROI version is in IPPM)
1449       o ippiCalcDecompCoeff_8u32f(R)
1450       o ippiEigenProjection_8u32f(R)
1451
1452 o   Ellipse fitting
1453     -----------------------------------------------
1454       o ippiEllipseFit32f
1455
1456 Optimization
1457 -----------------------------------------------
1458     o New functions from "Eigen faces" group have been optimized for SSE
1459
1460
1461 Scripting Environment/Scripts
1462 -----------------------------------------------
1463     o Since this delivery file apps\Hawk\history.txt contains
1464       detailed information about changes in Scripting Environment.
1465     o Plugin technology introduced. It allows to use different libraries
1466       without rebuilding of application.
1467     o Saving results to .BMP files was added.
1468     o Started using of new version of EiC interpreter
1469     o Page rotation example (script) was added.
1470
1471 =============================================================================
1472                    Release CVL 00.00.21, Monday, January 17, 2000
1473 =============================================================================
1474
1475 Functionality improvements/extensions/addings
1476 ---------------------------------------------
1477
1478 o   New functions/classes/methods
1479     -----------------------------------------------
1480     o Contours processing functions:
1481       o ippiContourLevelFromCntrTree
1482     
1483     o Eigen faces:
1484       o ippiCalcEigenObjects_8u32fR - finds all the eigen objects.
1485
1486     o Template matching functions (each includes 6 methods):
1487       o ippiMatchTemplate8uC1R
1488       o ippiMatchTemplate8sC1R
1489       o ippiMatchTemplate32fC1R
1490
1491 o   Optimization
1492     -----------------------------------------------
1493     o Matrix functions for double precision were optimized for WMT
1494
1495 o   Documentation
1496     -----------------------------------------------
1497     o HTML variant of IPPM documentation was added
1498
1499 o   Scripting Environment/Scripts
1500     -----------------------------------------------
1501     o Demo script for letter recognition was added.
1502
1503 =============================================================================
1504                    Release CVL 00.00.20, Wednesday, January 5, 2000
1505 =============================================================================
1506
1507 Functionality improvements/extensions/addings
1508 ---------------------------------------------
1509
1510 o   New functions/classes/methods
1511     -----------------------------------------------
1512     o Contours processing functions:
1513       o ippiMatchContourTrees
1514       o ippiContourFromCntrTree
1515     o Earth Mover Distance
1516     
1517     o Tracker classes: CvlKalmanTracker & CvlCondensationTracker were added.
1518     o DShow filters, which use new tracker classes, were created.
1519
1520 o   Optimization
1521     -----------------------------------------------
1522     o Optical flow (block matching algorithm) optimized for MMX/SSE.
1523
1524 o   Scripting Environment
1525     -----------------------------------------------
1526     o Hawk application extended to support input from camera.
1527     o some minor bugs were fixed.
1528     o Several High GUI functions were documented.
1529
1530 =============================================================================
1531                    Release CVL 00.00.19, Friday, December 17, 1999
1532 =============================================================================
1533
1534 Functionality improvements/extensions/addings
1535 ---------------------------------------------
1536
1537 o   New functions/classes/methods
1538     -----------------------------------------------
1539     o Calibration functions:
1540       o ippiRogrigues
1541       o ippiCalibrateCamera
1542       o ippiFindChessBoardCornerGuesses8uC1R
1543       o + several internal functions:
1544           _ipcvFindHomography
1545           _ipcvInitIntrinsicParams
1546           _ipcvNormalizeImagePoints
1547           _ipcvRigidMotionTransform
1548           _ipcvProjectPoints
1549           _ipcvFindExtrinsicCameraParams
1550
1551     o Contours:
1552       o ippiContourArea, ippiContourSecArea
1553       o ippiCreateContourTree
1554       o ippiMatchContours
1555       o ippiFindMinEnclosingCircle
1556
1557     o Utility functions:
1558       o ippiRGBToGray_8uC3C1R
1559
1560     o Detection functions:
1561       o ippiFindCornerSubPix8uC1R
1562
1563     o Matrix functions:
1564       o ippmDetMatrix_32f
1565       o ippmInvMatrix_32f
1566       o ippmInvMatrix_64d
1567       o ippmTransMatrix_32f
1568       o ippmTransMatrix_64d
1569       o ippmNormVector_32f
1570       o ippmNormVector_64d
1571       o ippmTrace_32f
1572       o ippmMulVectors_32f
1573       o ippmSVDecomposition_32f
1574       o ippmCopyMatrix_64d
1575       o ippmSetIdentity_64d
1576       o ippmCopyVector_64d
1577       o ippmScaleVector_64d
1578       o ippmSubVector_64d
1579       o ippmScaleMatrix_64d
1580       o ippmMulMatrix_64d
1581       o ippmMulTransMatrixR_64d
1582       o ippmAddVector_64d
1583       o ippmComplexMult_32f
1584       o ippmComplexMult_64d
1585       o ippmDotProduct_64d
1586       o ippmSetZero_64d
1587       o ippmTransposeMatrix_64d
1588
1589 o   Several misprints in IppiCVL manual have been fixed.
1590
1591 =============================================================================
1592                    Release CVL 00.00.18, Wednesday, December 1, 1999
1593 =============================================================================
1594
1595 Functionality improvements/extensions/addings
1596 ---------------------------------------------
1597
1598 o   New functions/classes/methods
1599     -----------------------------------------------
1600     o New contour processing functions:
1601       o Basic functions for manipulating ippiSequence type.
1602         o ippiGetSequenceElementPtr
1603         o ippiStartWriteSequence
1604         o ippiEndWriteSequence
1605         o ippiCreateNewSequenceBlock
1606         o ippiWriteSequenceElement
1607         o ippiStartReadSequence
1608         o ippiReadSequenceElement
1609         o ippiSetSequenceReaderPos
1610         o ippiStartReadChainPoints
1611         o ippiReadChainPoint
1612         o ippiCopySequenceToArray
1613         o ippiMakeSequenceHeaderForArray
1614         o ippiCreateSequenceFromArray
1615
1616       o Iterative contour retrieving functions
1617
1618         o ippiStartFindContours_Plane8uC1R
1619         o ippiStartFindContours_Hierarchic32fC1R
1620         o ippiInsertContourIntoTree
1621         o ippiFindNextContour
1622         o ippiSubstituteContour
1623         o ippiEndFindContours
1624
1625       o Convex hull functions, working with ippiSequence
1626         o ippiConvexHull
1627         o ippiConvexHullApprox
1628
1629       o Minimal bounding box - ippiMinAreaRect
1630       o Moments on contours - ippiContoursMoments
1631
1632     o Wrapper functions:
1633       o ippiImage utility functions:
1634
1635         o ippiCreateImage
1636         o ippiReleaseImage
1637         o ippiSetImageData
1638         o ippiInitImageHeader
1639         o ippiCreateImageData
1640         o ippiReleaseImageData
1641         o ippReleaseImageHeader
1642         o ippiSetImageRoi
1643         o ippiCopyImage
1644
1645       o Processing functions:
1646         o ippiThreshold
1647         o ippiPyrDown
1648         o ippiPyrUp
1649
1650 o   Optimization/Improvements
1651     -----------------------------------------------
1652     o Moments functions (grayscale (8u/8s)C1, binary (8u/8s/32f)C1).
1653     o Distance transform has been optimized algorithmically and specially for MMX/SSE.
1654
1655
1656 o   CamShift class rewritten to support multi-dimensional histograms
1657 o   Several misprints in IppiCVL manual have been fixed.
1658
1659
1660 =============================================================================
1661                    Release CVL 00.00.17, Monday, November 15, 1999
1662 =============================================================================
1663
1664 Functionality improvements/extensions/addings
1665 ---------------------------------------------
1666
1667 o   New functions/classes/methods
1668     -----------------------------------------------
1669     o Contour processing functions:
1670       o Function for finding approximate convex hull of point set
1671           ippiConvexHullApprox
1672
1673     o Matrix functions:
1674       o Eigen values and vectors for symmetric matrix:
1675           ippmJacobiEigens_32f, ippmJacobiEigens_64f
1676       o Calculating AA' for matrix A: ippmMulTransMatrixR
1677         and A'A: ippmMulTransMatrixL
1678
1679 o   Optimization/Improvements
1680     -----------------------------------------------
1681     o Thresholding functions (8u,8s flavors) have been optimized for WMT,
1682       32f flavor have been optimized for SSE.
1683
1684 =============================================================================
1685                    Release CVL 00.00.16, Monday, November 1, 1999
1686 =============================================================================
1687
1688 Functionality improvements/extensions/addings
1689 ---------------------------------------------
1690
1691 o   New functions/classes/methods
1692     -----------------------------------------------
1693     o Contour processing functions:
1694       o Chains retrieving
1695           ippiFindChains_Hierarchic32fC1R,
1696           ippiFindChains_Plane8uC1R
1697       o Chains approximation
1698           ippiApproximateChains  (four methods: direct,
1699                                   simple,TC89_L1,TC89_KCOS)
1700       o Chains & contour drawing
1701           ippiDrawChains8uC3R,
1702           ippiDrawContours8uC3R,
1703       o Corner finding
1704           ippiFindDominantPoints (one method: IPAN99)
1705       o Utility functions:
1706           ippiCreateChains,
1707           ippiCreateContours,
1708           ippiReleaseChains,
1709           ippiReleaseContours
1710
1711     o New utility functions:
1712       o ippiCvtPixToPlane(8u/32f)(C3/AC4)R,
1713       o ippiCvtPlaneToPix(8u/32f)(C3/AC4)R
1714       o ippiAbsDiff(8u/32f)C1R[S]
1715
1716     o Flood fill functions are extended to return
1717       bounding rectangle of filled area
1718
1719 o   Optimization/Improvements
1720     -----------------------------------------------
1721     o Morhology function have been optimized another time
1722       and made independed from IPL.
1723
1724 o   Documentation:
1725     -----------------------------------------------
1726     o Manual has been extended greatly. All the existing functions are described.
1727     o Readmes for all demos have been updated.
1728     o Manual for high-level part of library has been created.
1729
1730
1731 =============================================================================
1732                    Release CVL 00.00.15, Friday, October 15, 1999
1733 =============================================================================
1734
1735 Functionality improvements/extensions/addings
1736 ---------------------------------------------
1737
1738 o   New functions/classes/methods
1739     -----------------------------------------------
1740     o First Active Contour related functions -
1741       ippiSnakeImage8uC1R, ippiSnakeImageGrad8uC1R were added
1742
1743 o   Optimization/Improvements
1744     -----------------------------------------------
1745     o Norm functions with mask support (all flavors)
1746       were optimized for MMX/SSE.
1747     o Straight Hough transform was speeded up by several times
1748       due to algorithm improvement.
1749
1750 =============================================================================
1751                    Release CVL 00.00.14, Friday, October 1, 1999
1752 =============================================================================
1753
1754 Functionality improvements/extensions/addings
1755 ---------------------------------------------
1756
1757 o   General changings
1758     -----------------------------------------------
1759     o Many matrix functions have been renamed
1760
1761
1762 o   New functions/classes/methods
1763     -----------------------------------------------
1764     o Stages of Canny Edge Detector as separate functions: CannyBegin, CannyEnd.
1765     o FillConvexPoly functions for 8uC1, 8uC3.
1766
1767     o IPPM functions:
1768       o Special functions for 6x6 matrices were added: Add, Sub, Transpose, Scale.
1769
1770 o   Optimization/Improvements
1771     -----------------------------------------------
1772     o Inserted IPPM functions were optimized for SSE.
1773     o CamShift class was improved by adding pyramids and
1774       background differencing.
1775     o Norm functions, SumPixels and Mean functions (32f flavor)
1776       were optimized for SSE.
1777     o Probabilistic Hough transform was speeded up twice.
1778
1779 =============================================================================
1780                    Release CVL 00.00.13, Wednesday, September 15, 1999
1781 =============================================================================
1782
1783 Functionality improvements/extensions/addings
1784 ---------------------------------------------
1785
1786 o   General changings
1787     -----------------------------------------------
1788     o Tests have been made shared between configurations.
1789
1790
1791 o   New functions/classes/methods
1792     -----------------------------------------------
1793     o Probabilistic Hough Transform: ippiHoughLinesP_8uC1R (tested visually)
1794     o Subdivision classes: General Subdivision,
1795       Delaunay Triangulation, Convex Hull building.
1796
1797     o IPPM functions:
1798       o Multiply, Transpose.
1799       o Special Add, Sub, Multiply, Scale, and Transposition functions for
1800         3x3 and 4x4 matrices.
1801       o Mahalanobis distance.
1802
1803 o   Optimization/Improvements
1804     -----------------------------------------------
1805     o Inserted IPPM functions were optimized for SSE.
1806     o CamShift class was improved by adding pyramids and
1807       background differencing.
1808     o Norm functions for byte formats were optimized for MMX/SSE.
1809
1810 =============================================================================
1811                    Release CVL 00.00.12, Tuesday, August 31, 1999
1812 =============================================================================
1813
1814 Functionality improvements/extensions/addings
1815 ---------------------------------------------
1816
1817 o   General changings
1818     -----------------------------------------------
1819     o Project tree modified and extended (see readme file):
1820       o high-level part of library is not empty now
1821         (storage and histogram classes have been added)
1822       o Matrix primitives library (IPPM) arrived.
1823       o All tests directories moved level upper.
1824     o M5 and W7 configurations have been added
1825       (M5 is the same as PX and W7 consists with A6 at present).
1826     o Switcher for IppiCVL was optimized to reduce number of jumps from 3 to 1.
1827
1828
1829 o   New functions/classes/methods
1830     -----------------------------------------------
1831     o Strict Hough Transform: ippiHoughLines_8uC1R (not tested yet)
1832     o Storage classes (array, tree).
1833     o Histogram classes with almost complete functionality:
1834       creating, accessing, caluclating histogram,
1835       retrieving back project, thresholding,
1836       normalizing, comparing two histograms, *=, -=, iterating,
1837       copying and clearing.
1838
1839     o IPPM functions:
1840       DeleteMatrix, DeleteVect, AddMatrix, AddVect, CalcQuadrForm,
1841       CopyMatrix, CopyVector, CreateMatrix, CreateVect, CrossProduct,
1842       DotProduct, GetElement, GetMatrix, GetVector, ScaleVect,
1843       SetElement, SetMatrix, SetVector, SubVect, TransformVect.
1844
1845 o   Optimization
1846     -----------------------------------------------
1847     o Next IPPM functions were optimized for SSE:
1848       AddVect, SubVect, DotProduct, CopyVector, CopyMatrix, SetVector,
1849       SetMatrix, GetVector, GetMatrix.
1850
1851 o   CVL Manual
1852     -----------------------------------------------
1853     o New variant of CVL manual with many corrections
1854       (but still not up to date) delivered.
1855
1856 =============================================================================
1857                    Release CVL 00.00.11, Friday, August 13, 1999
1858 =============================================================================
1859
1860 Functionality improvements/extensions/addings
1861 ---------------------------------------------
1862
1863 o   New functions
1864     -----------------------------------------------
1865
1866     o Image statistics
1867       All flavors of the ippiNorm function:
1868       o ippiNormwith mask support (all flavors) were implemented but not tested yet,
1869     o Motion Templates
1870       o Parameter origin was added to CalcMotionGradient32fC1R. It allows to get correct
1871         motion direction for both top-origin and bottom-origin functions
1872
1873 o   Functions changed
1874     -----------------------------------------------
1875     o opSize in detection functions changes its meaning
1876       and now it is a true aperture size
1877
1878 o   Optimization
1879     -----------------------------------------------
1880     o CountNonZero (8u/8s/32f x C1/C3) A6 optimization
1881     o SumPixels (8u/8s x C1) A6 optimization
1882     o MinMaxLoc ((8u/8s x C1/C3 + 32fC1) x mask/no_mask) A6 optimization
1883     o Sobel convolution functions (and, thus, Motion Templates and all detection
1884       functions) were optimized another time.  A6 version for 3x3 kernel runs
1885
1886
1887 =============================================================================
1888                    Release CVL 00.00.10, Saturday 31-07-99
1889 =============================================================================
1890
1891 Functionality improvements/extensions/addings
1892 ---------------------------------------------
1893
1894 o   New functions
1895     -----------------------------------------------
1896
1897     o Image statistics
1898       All flavors of the ippiNorm function:
1899       o ippiNorm(8u/8s/32f)C(1/3)(R),
1900         norm types:
1901         (C,L1,L2), (||A||, ||A-B||,||A-B||/||A||)
1902       o ippiGetHuMoments
1903
1904     o Drawing primitives
1905       All flavors of the
1906       o ippiThickLine
1907       o ippiConic
1908       o ippiPutText (single font supported now, italic/bold)
1909
1910     o Background differencing primitives (mask version)
1911
1912       o ippiMaskMultiplyAcc
1913       o ippiMaskSquareAcc
1914       o ippiMaskAcc
1915
1916     o Canny Edge Detector
1917       o ippiCanny8uC1R
1918
1919
1920 o   Algorithmic & perfomance tests created for next functions
1921     ---------------------------------------------------------
1922
1923     o Algorithmic
1924       o Image statistics
1925         o  Norm
1926       o Drawing primitives
1927         o  Line(AA)
1928         o  Ellipse(AA)
1929         o  Conic
1930       o Canny
1931       o Background differencing (mask)
1932       o Pixel Access Macros
1933
1934     o Performance
1935       o Norm
1936       o Drawing primitives
1937         o  Line(AA)
1938         o  Ellipse(AA)
1939         o  Conic
1940       o Canny
1941
1942 o   Other
1943     -------
1944     o swl_test extended with pixel access and drawing samples
1945
1946
1947 =============================================================================
1948                    Release CVL 00.00.09, Thursday 15-07-99
1949 =============================================================================
1950
1951 Functionality improvements/extensions/addings
1952 ---------------------------------------------
1953
1954 o   New functions
1955     -----------------------------------------------
1956
1957     o Image statistics
1958       All flavors of the next functions:
1959       o ippiSumPixels
1960       o ippiMean(Mask)
1961       o ippiMean_StdDev(Mask)
1962       o ippiMinMaxLoc(Mask)
1963       o ippiMoments
1964       o ippiMomentsBinary
1965       ----------------------
1966       o ippiGetSpatialMoment
1967       o ippiGetCentralMoment
1968       o ippiGetNormalizedCentralMoment
1969
1970     o Drawing primitives
1971       All flavors of the
1972       o ippiLine
1973       o ippiLineAA
1974       o ippiEllipse
1975       o ippiEllipseAA
1976
1977     o POSIT algorithm
1978       o ippiInitPOSITObject
1979       o ippiFreePOSITObject
1980       o ippiPOSIT
1981
1982     o Distance transform
1983       o ippiDistTransform3x3_8uC1R
1984       o ippiDistTransform5x5_8uC1R
1985       o ippiDistTransformGenMask3x3
1986       o ippiDistTransformGenMask5x5
1987
1988 o   Types renamed
1989     -------------------
1990     o CvlThreshType enumeration and its members
1991       changed their prefix to ippi/IPPI
1992
1993
1994 o   Algorithmic & perfomance tests created for next functions
1995     ---------------------------------------------------------
1996
1997     o Algorithmic
1998       o Image statistics:
1999         CountNonZero, SumPixels, Mean(Mask),
2000         Mean_StdDev(Mask), MinMaxLoc(Mask)
2001       o DistanceTransform
2002       o POSIT
2003
2004     o Performance
2005       o Image statistics:
2006         CountNonZero, SumPixels, Mean(Mask),
2007         Mean_StdDev(Mask), MinMaxLoc(Mask)
2008
2009 =============================================================================
2010                    Release CVL 00.00.08, Thursday 01-07-99
2011 =============================================================================
2012
2013 Global changes
2014 ---------------
2015
2016 o  CVL has been divided by two parts:
2017        IPPI CVL (low-level) and
2018        CVL (hi-level C++ lib)
2019
2020 o  Project tree was changed (see readme.txt for description)
2021
2022 o  Name prefixes for low-level library were changed:
2023     o  From Cvl to ipp for structures (not completely)
2024     o  From cvl to ippi for external functions
2025     o  From _cvl to _ipcv for internal functions
2026     --------------------------------------------
2027     o  CvlResult replaced with ippStatus
2028     o  External header cvl.h renamed to ippicvl.h
2029     o  Static libraries and DLL names were changed appropriately.
2030
2031
2032 Functionality improvements/extensions/addings
2033 ---------------------------------------------
2034
2035 o   New functions
2036     -----------------------------------------------
2037     o Image statistics
2038       o ippiCountNonZero(8u/8s)fC1(R)
2039       o ippiCountNonZero(8u/8s)fC3(R)
2040       o ippiCountNonZero32fC1(R)
2041       o ippiCountNonZero32fC3(R)
2042       o ippiSumPixels8uC1(R)
2043       o ippiSumPixels8uC3(R)
2044
2045 o   Removed functions
2046     -----------------------------------------------
2047       o cvlUpdateMotionHistory*
2048       o cvlRenormMotionHistory*
2049       o cvlApproxNormalFlow*
2050
2051 o   Algorithmic & perfomance tests created
2052     -----------------------------------------------
2053
2054     o Algorithmic
2055       o ippiSumPixels
2056
2057 o   Bug fixed
2058     -----------------------------------------------
2059     o CAMSHIFT filter: writing pixels out of image
2060
2061
2062 =============================================================================
2063                    Release CVL 00.00.07, Thursday 10-06-99
2064 =============================================================================
2065
2066
2067 Functionality improvements/extensions/addings
2068 ---------------------------------------------
2069
2070 o   New functions
2071     -----------------------------------------------
2072     o Fixed Filters group
2073       o cvlLaplace32fC1R
2074
2075     o Feature detection
2076       o cvlPreEdgeDetect32fC1R
2077       o cvlPreRidgeDetect32fC1R
2078       o cvlPreCornerDetect32fC1R
2079       o cvlCalcCornerEigenValsAndVecs(8u/8s/32f)C1R
2080
2081     o Mathematical Utility functions
2082       o cvl(b)CartToPolar32f
2083
2084     o Motion templates
2085       o cvlCalcMotionGradient32fC1R
2086
2087     o Flood fill
2088       o cvlFloodFill(8u/32f)C1R
2089
2090     o View Morphing related functions (too many to list them)
2091
2092
2093 o   Algorithmic & perfomance tests created
2094     -----------------------------------------------
2095
2096     o Algorithmic
2097       o Fixed Filters (32f mode)
2098       o Feature detection (all the rest)
2099       o MathUtils (CartToPolar)
2100       o Motion Templates II (all)
2101       o Flood Fill(all)
2102
2103     o Performance
2104       o Fixed Filters (32f mode)
2105       o MathUtils (CartToPolar)
2106       o Motion Templates II (all)
2107       o Flood Fill(all)
2108
2109
2110 o   Demos developed
2111     ---------------
2112
2113     o CAMSHIFT DirectShow Demo as well as supporting
2114       hi-level CAMSHIFT class
2115     o View Morphing Demo
2116
2117
2118 o   Switcher library and custom DLLs are introduced
2119     -----------------------------------------------
2120
2121
2122 o   Documetation
2123     -----------------------------------------------
2124     o CVL manual is complemented with some theoretical
2125       material and pictures/plots
2126     o Brief readme for the CAMSHIFT demo is written.
2127
2128 =============================================================================
2129                    Release CVL 00.00.06, Monday 31-05-99
2130 =============================================================================
2131
2132
2133 Functionality improvements/extensions/addings
2134 ---------------------------------------------
2135
2136 o   New functions
2137     -----------------------------------------------
2138     o CAMSHIFT group
2139       o cvlCamshift(8u/8s/32f)C1R
2140       o cvlMeanShift(8u/8s/32f)C1R
2141
2142     o Fixed Filters group
2143       o cvlSobel(8u/8s/32f)C1R
2144       o cvlLaplace(8u/8s)C1R
2145
2146     o Feature detection
2147       o cvlPreEdgeDetect(8u/8s)C1R
2148       o cvlPreRidgeDetect(8u/8s)C1R
2149       o cvlPreCornerDetect(8u/8s)C1R
2150
2151     o Mathematical Utility functions
2152       o cvl(b)FastArctan32f
2153       o cvl(b)Sqrt32f
2154       o cvl(b)InvSqrt32f
2155       o cvlRandInit
2156       o cvl(b)Rand32f
2157
2158     o Motion templates
2159       o cvlUpdateMHIByTime32fC1R
2160       o cvlCalcGlobalOrientation32fC1R
2161
2162     o Optical flow
2163       o cvlCalcOpticalFlowHS_8u32fR
2164
2165
2166 o   Deleted functions
2167     -----------------------------------------------
2168     o Optical flow
2169       o cvlCalcOpticalFlowPG_8u32f(R)
2170
2171
2172 o   Algorithm & perfomance tests created
2173     -----------------------------------------------
2174
2175     o Algorithms
2176
2177       o CAMSHIFT
2178       o Fixed Filters
2179       o Feature detection (for completed functions)
2180       o Optical flow (HS algorithm)
2181       o MathUtils (for completed functions)
2182
2183     o Performance
2184       o Optical flow (HS algorithm)
2185       o MathUtils
2186
2187
2188 o   Test changed
2189     ------------------------------------------------
2190     o All algorithmic tests corrected to be able to run in batch mode.
2191
2192
2193 o   Optimization
2194     ------------
2195
2196     o Morphology functions (32fC1 flavor) become
2197       faster for rectangular structuring element
2198
2199
2200 =============================================================================
2201                    Release CVL 00.00.05, Friday 14-05-99
2202 =============================================================================
2203
2204
2205 Functionality improvements/extensions/addings
2206 ---------------------------------------------
2207
2208 o   Algorithm & perfomance tests created or tested.
2209     -----------------------------------------------
2210     o Algorithms
2211       o The test for CalcOpticalFlowBM_8u32fR added.
2212       o The tests for Background function were changed.
2213
2214     o Performance
2215       o The test for CalcOpticalFlowBM_8u32fR added.
2216       o The test for RenormMotionHistory added.
2217       o The tests for Background function were changed
2218         (vectors comparing).
2219
2220 o   Optimization
2221     ------------
2222     o Background differencing functions (running average) optimized for PIII.
2223     o The function CvlApproxNormalFlow8u was optimized similar to 8s flavor.
2224     o Pyramids optimized for PII (8u & 8s) and partially for PIII (32f).
2225     o UpdateMotionHistory & RenormMotionHistory optimized for PII.
2226
2227
2228 o   Building changes
2229     ----------------
2230     o SSE-containing files are compiled by Proton now, so it is'nt neccessary to
2231       switch compiler to build A6 version.
2232
2233
2234 Bug fixed:
2235 ----------
2236     Running Average Functions pass accuracy tests (test fixed).
2237
2238
2239 =============================================================================
2240                    Release CVL 00.00.04, Friday 30-04-99
2241 =============================================================================
2242 Documentations
2243   o The document cvl.doc is changed
2244
2245
2246 Functionality improvements/extensions/addings
2247 ---------------------------------------------
2248
2249 o   Added:
2250     ------
2251       o Calculation of optical flow using Lucas&Kanade technique:
2252         CalcOpticalFlowLK_8u32fR
2253
2254 o   Algorithm & perfomance tests created or tested.
2255     -----------------------------------------------
2256     o Algorithms
2257       o The test for CalcOpticalFlowLK_8u32fR added.
2258       o The tests for Background function were changed.
2259
2260     o Performance
2261       o The tests for Background function were changed.
2262
2263 o   Changed
2264     -------
2265
2266 o   Optimization
2267     ------------
2268     o Functions cvlErode8uC1R & cvlDilate8uC1R optimized for PIII.
2269     o The function CvlApproxNormalFlow was corrected for performance advance.
2270     o A6 - versions for Background differncing functions were completed.
2271
2272
2273 Bug fixed:
2274 ----------
2275
2276
2277 =============================================================================
2278                    Release CVL 00.00.03, Thursday 15-04-99
2279 =============================================================================
2280 Documentations
2281   o The structure of the document cvl.doc is changed
2282
2283
2284 Functionality improvements/extensions/addings
2285 ---------------------------------------------
2286
2287 o   Added:
2288     ------
2289     o The next functions were created
2290       o Added macro for direct access to pixel
2291       o The function cvlCalcOpticalFlowPG_8u32fR added
2292
2293 o   Algorithm & perfomance tests created
2294     ------------------------------------
2295     o Algorithms
2296       o The test for cvlCalcOpticalFlowPG_8u32fR function created
2297
2298     o Performance
2299       o Performance test for functions ApproxNormalFlow and RunningAverage were done.
2300       o Performance test for UpdateMotionHistory changed for generality.
2301         (Tests for 8s and 32f were created).
2302
2303 o   Changed
2304     -------
2305     o Function ApproxNormalFlow was improved for better performance.
2306     o The name of function cvlCalcOpticalFlowPG_8u on cvlCalcOpticalFlowPG_8u32f changed
2307     o The cvlUpdateMotionHistory32fC1R function changed
2308     o all 8u morhology functions use IPL when structuring element has rectangular form.
2309       Timing and algorithmic tests have been changed approprietely.
2310
2311 o   Optimization
2312     ------------
2313     o the Threshold group functions (PX type)
2314     o the Threshold8uC1 & Threshold8sC1 functions (MMX type)
2315     o the Morphological group functions
2316     o the cvlErode8uC1R & cvlDilate8uC1R functions
2317
2318 Bug fixed:
2319 ----------
2320     o steps in float morphology functions can be not 4*k now.
2321     o some bugs corrected in function cvlCalcOpticalFlowBM_8u
2322       (BUT IT IS NOT TESTED TILL)
2323
2324
2325 =============================================================================
2326                    Release CVL 00.00.02, Wednesday 30-03-99
2327 =============================================================================
2328
2329 Functionality improvements/extensions/addings
2330 ---------------------------------------------
2331
2332 o   Added:
2333     ------
2334     o The next functions was created
2335       cvlBackProject1D8uC1R
2336       cvlBackProject1D8sC1R
2337       cvlBackProject1D32fC1R
2338
2339       cvlBackProjectGraph8uC1R
2340       cvlBackProjectGraph8sC1R
2341       cvlBackProjectGraph32fC1R
2342
2343       cvlBackProjectPatch1D8uC1R
2344       cvlBackProjectPatch1D8sC1R
2345       cvlBackProjectPatch1D32fC1R
2346
2347       cvlBackProjectPatchGraph8uC1R
2348       cvlBackProjectPatchGraph8sC1R
2349       cvlBackProjectPatchGraph32fC1R
2350
2351       cvlAcc8s32f
2352       cvlAcc32f32f
2353
2354       cvlSquareAcc8s32f
2355       cvlSquareAcc32f32f
2356
2357       cvlMultiplyAcc8s32f
2358       cvlMultiplyAcc32f32f
2359
2360       cvlRunningAvg8u32f
2361       cvlRunningAvg8s32f
2362       cvlRunningAvg32f32f
2363
2364       cvlUpdateMotionHistory32fC1
2365       cvlUpdateMotionHistory8uC1R
2366       cvlUpdateMotionHistory8sC1R
2367       cvlUpdateMotionHistory32fC1R
2368
2369       cvlRenormMotionHistory8uC1R
2370       cvlRenormMotionHistory8uC1
2371
2372       cvlErode32fC1R
2373       cvlErode32fC3R
2374       cvlErode32fAC4R
2375       cvlDilate32fC1R
2376       cvlDilate32fC3R
2377       cvlDilate32fAC4R
2378
2379       cvlApproxNormalFlow8uC1R
2380       cvlApproxNormalFlow8sC1R
2381       cvlApproxNormalFlow32fC1R
2382
2383       cvlCorrelHistGraph
2384
2385       cvlThreshold8uC3R
2386       cvlThreshold8sC3R
2387       cvlThreshold32fC3R
2388
2389       cvlThreshold8uC1S
2390       cvlThreshold8sC1S
2391       cvlThreshold32fC1S
2392
2393       cvlBayesHistGraph
2394
2395       cvlCalcOpticalFlowPG_8u
2396
2397       cvlMultiplyAcc8s32f
2398       cvlMultiplyAcc32f32f
2399
2400 o   Algorithm & perfomance tests created
2401     ------------------------------------
2402     o Algorithms
2403       cvlApproxNormalFlow8uC1R
2404       cvlApproxNormalFlow8sC1R
2405       cvlApproxNormalFlow32fC1R
2406
2407       cvlBayesHistGraph
2408
2409       cvlCalcOpticalFlowPG_8u
2410
2411       cvlBackProject1D8uC1R
2412       cvlBackProject1D8sC1R
2413       cvlBackProject1D32fC1R
2414
2415       cvlBackProjectGraph8uC1R
2416       cvlBackProjectGraph8sC1R
2417       cvlBackProjectGraph32fC1R
2418
2419       cvlBackProjectPatch1D8uC1R
2420       cvlBackProjectPatch1D8sC1R
2421       cvlBackProjectPatch1D32fC1R
2422
2423       cvlBackProjectPatchGraph8uC1R
2424       cvlBackProjectPatchGraph8sC1R
2425       cvlBackProjectPatchGraph32fC1R
2426
2427       cvlThreshold8uC3R
2428       cvlThreshold8sC3R
2429       cvlThreshold32fC3R
2430
2431       cvlThreshold8uC1S
2432       cvlThreshold8sC1S
2433       cvlThreshold32fC1S
2434
2435       cvlCorrelHistGraph
2436
2437       cvlErode32fC1R
2438       cvlErode32fC3R
2439       cvlErode32fAC4R
2440       cvlDilate32fC1R
2441       cvlDilate32fC3R
2442       cvlDilate32fAC4R
2443
2444       cvlAcc8s32f
2445       cvlAcc32f32f
2446
2447       cvlSquareAcc8s32f
2448       cvlSquareAcc32f32f
2449
2450     o Performance
2451       Morphology function group,
2452       Background differencing group partially
2453
2454 o   Changed
2455     -------
2456       cvlUpdateMotionHistory8uC1
2457       cvlUpdateMotionHistory8sC1
2458
2459 Bug fixed:
2460 ----------
2461
2462
2463 =============================================================================
2464                    Release CVL 00.00.01, Monday 15-03-99
2465 =============================================================================
2466
2467 Functionality improvements/extensions/addings
2468 ---------------------------------------------
2469
2470 o   Added:
2471     ------
2472     o The next functions was created
2473         cvlErode8uC1R,
2474         cvlErode8uC3R,
2475         cvlErode8uAC4R,
2476
2477         cvlDilate8uC1R,
2478         cvlDilate8uC3R,
2479         cvlDilate8uAC4R.
2480
2481         cvlCreateStructuringElement
2482         cvlDeleteStructuringElement
2483
2484         cvlCalcOpticalFlowBM_8u
2485
2486 o   Algorithm & perfomance tests created
2487     ------------------------------------
2488     o Histogram group functions
2489     o Pyramids group functions
2490     o Morphology group function (only algorithms)
2491     o Motion templates partially
2492
2493 o   Changed
2494     -------
2495     o Renamed histogram structures DefHist1DGrad -> DefHist1D
2496     o Renamed histogram structures DefHistGrad -> DefHistGraph
2497     o Renamed functions name and parameters names which these functions take.
2498
2499 Bug fixed:
2500 ----------
2501 o   Bug in cvlUpdateMotionHistory was fixed.
2502
2503
2504
2505 =============================================================================
2506                    Release CVL 00.00.00, Friday 05-03-99
2507 =============================================================================
2508
2509 Functionality improvements/extensions/addings
2510 ---------------------------------------------
2511
2512 o   Added:
2513     ------
2514     o The next functions was created
2515         /* Creating/Releasing histograms */
2516         cvlCreateHist1DGrad
2517         cvlReleaseHist1DGrad
2518         cvlCreateHistGrad
2519         cvlReleaseHistGrad
2520
2521         /* Calculation histograms from different data types */
2522         cvlCalcHist1DGrad8uC1
2523         cvlCalcHist1DGrad8sC1
2524         cvlCalcHist1DGrad32fC1
2525         cvlCalcHistGrad8uC1
2526         cvlCalcHistGrad8sC1
2527         cvlCalcHistGrad32fC1
2528
2529         /* Basic histogram operations */
2530         cvlNormHist1DGrad
2531         cvlClearOutAllDataHist1DGrad
2532         cvlIntersectionHist1DGrad
2533         cvlChiSqrHist1DGrad
2534         cvlCorrelHist1DGrad
2535         cvlBayesHist1DGrad
2536         cvlCopyHist1DGrad
2537         cvlSumHist1DGrad
2538         cvlMeanHist1DGrad
2539         cvlThreshHist1DGrad
2540         cvlSubHist1DGrad
2541         cvlMultHist1DGrad
2542         cvlInsertPointHistGrad
2543         cvlFindPointHistGrad
2544         cvlDeletePointHistGrad
2545         cvlGetValueHistGrad
2546         cvlCopyHistGrad
2547         cvlMultHistGrad
2548         cvlNormHistGrad
2549         cvlIntersectionHistGrad
2550         cvlChiSqrHistGrad
2551         cvlThreshHistGrad
2552
2553         /* Pyramids functions */
2554         cvlPyrDown8uC1
2555         cvlPyrDown8sC1
2556         cvlPyrDown32fC1
2557         cvlPyrDown8uC1R
2558         cvlPyrDown8sC1R
2559         cvlPyrDown32fC1R
2560         cvlPyrDown8uC3
2561         cvlPyrDown8sC3
2562         cvlPyrDown32fC3
2563         cvlPyrDown8uC3R
2564         cvlPyrDown8sC3R
2565         cvlPyrDown32fC3R
2566         cvlPyrUp8uC1
2567         cvlPyrUp8sC1
2568         cvlPyrUp32fC1
2569         cvlPyrUp8uC1R
2570         cvlPyrUp8sC1R
2571         cvlPyrUp32fC1R
2572         cvlPyrUp8uC3
2573         cvlPyrUp8sC3
2574         cvlPyrUp32fC3
2575         cvlPyrUp8uC3R
2576         cvlPyrUp8sC3R
2577         cvlPyrUp32fC3R
2578
2579         /* MotionTemplate operations */
2580         cvlUpdateMotionHistory8uC1
2581         cvlUpdateMotionHistory8sC1
2582
2583     o Created the Demo application - object tracker.