1 - Bugfix: added dma_unlisten to icvCloseCAM_DC1394 (thanks to Victor Benso)
3 =============================================================================
4 OpenCV 1.0, October 18, 2006
5 =============================================================================
7 >>> New functionality/features: <<<
10 * Windows installation package now includes precompiled Python module
11 * Borland C++ (v5.6+) makefiles re-added (see _make\make_all_bc.mak)
14 * Inpainting was added, see samples/c/inpaint.cpp
15 (thanks to Alexander Kibkalo and Alexey Kalinichenko)
18 * Boosted tree classifiers added, see MLL reference manual
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
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.
36 * Most old cv tests have been rewritten/converted to use cxts instead of trs.
37 TRS is not used by the tests anymore.
40 Many thanks to everybody who submitted bug reports and/or provided the patches!
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)
62 * Certain tests may fail on IA64 (Itanium), e.g.
63 gaussian filter, fundamental matrix estimation, chessboard detector.
65 =============================================================================
66 OpenCV 1.0 RC1, August 11, 2006
67 =============================================================================
69 >>> New functionality/features: <<<
70 - New Compilers/Environments supported:
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.
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.
100 cvPyrMeanShiftFiltering, cvWatershed, cvGetAffineTransform.
101 see docs/ref/opencvref_cv.htm for details.
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).
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.
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.
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).
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).
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).
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.
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
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.
175 =============================================================================
176 OpenCV beta 5, Thursday, July 21, 2005
177 =============================================================================
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)
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
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.
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
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".
205 - Haartraining now automatically produces .xml database along
206 with the usual directory tree.
208 - Script for creating custom dynamic library for a subset of IPP, used by OpenCV,
209 has been created. Look at opencv/interfaces/ipp
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).
217 - Camera calibration and epipolar geometry functions have been completely rewritten,
218 API was simplified, and docs updated.
220 - New checkerboard detection algorithm (based on Vladimir Vezhnevets' code)
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.
227 - Distance transform was extended to find the nearest connected component
228 of zero pixels for every pixel, not only the distance to it.
230 - (Windows) Highgui now remembers positions of a last few opened windows in registry.
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
238 And more with new IPP 5.0 (beta):
239 haar object detection, LK optical flow with pyramids, undistortion.
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).
245 - C version of morphology with rectangular elements is ~1.5-2x faster than in beta 4.
247 - Most of image statistics functions have been rewritten with a noticeable performance gain.
249 - A few other functions have been optimized: threshold,
250 background statistics accumulation, corner detectors (cvCornerMinEigenVal,
251 cvCornerEigenValsVecs, cvPreCornerDetect), distance transform, median filter (3x3),
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):
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)
275 =============================================================================
276 OpenCV beta 4, Friday, August 13, 2004
277 =============================================================================
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)
284 so any application that was linked with cv should now be linked with both cv and cxcore.
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.
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
296 - Some of obsolete functions, including e-HMMs, eigen objects, view morphing ...
297 have been moved from cv to cvaux.
299 - A lot of external dependencies have been removed together
300 with corresponding demo applications: TCL/TK, FLTK, Motif, MFC
302 - Pre-built binaries in windows distribution are now built using Intel Compiler 8.x
303 resulting in noticeable performance increase for many functions.
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.
309 - Interfaces for EiC, Ch and MATLAB have been temporarily dropped.
311 >>> New features/functionality: <<<
313 - Support for Miscrosoft Visual Studio .NET 2003 (see ../_make/*.sln) and
314 Borland C++ BuilderX (see ../_make/cbuilderx/*.bpgr) has been added.
316 - More functions from IPP 4.x are supported.
318 - Support for 16u (16-bit unsigned) type has been added.
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.
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.
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.
339 - Reference manual has been reorganized and it is now covers entire cxcore, cv
340 and highgui libraries.
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})
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.
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!)
353 - Linux version of highgui now uses GTK+ 2.x instead of Motif.
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.
358 >>> Optimizations: <<<
360 - DFT functions now use mixed-radix algorithm and, optionally,
361 DFT/FFT functions from IPP.
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.
367 - Lucas-Kanade Optical flow includes a few heuristics that significantly
368 improve performance (thanks to Alexander Kibkalo for the patch).
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).
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.
378 - alloca() has been replaced by cvStackAlloc that returns an aligned pointer.
379 For some functions it improved performance a lot.
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.
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.
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.
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.
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.
459 =============================================================================
460 OpenCV beta 3.1, Thursday, February 27, 2003
461 =============================================================================
463 >>> New features/functionality: <<<
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
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)
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)
515 =============================================================================
516 Release OpenCV beta 3, Wednesday, November 27, 2002
517 =============================================================================
519 >>> New features/functionality: <<<
521 - new more or less complete HTML reference (the grammar might be not very good)
524 - open source stereo code (modified variant of birchfield algorithm).
525 see cvaux/src/cvdpstereo.cpp)
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
531 - two FLTK-based demos: stereo and face detection
532 (apps/StereoDemo, apps/HaarFaceDetect)
534 - IPL dependency has been removed from all the libraries and demos
536 - new installers for Windows (Inno Setup) and Linux (RPM generation using OpenCV.spec)
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
543 - 3d Tracking added (I didn't tested it)
545 - contour skeletons and linear contour models (cvaux\src\cvlee.cpp & cvlcm.cpp).
546 no examples/docs yet.
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),
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.)
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
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.)
570 - a few small demo scripts added (samples/c)
572 - somewhat improved MATLAB interface, a few demos for it (interfaces/matlab)
574 - Ch C/C++ interpreter interface (see interfaces/ch)
576 - new (actually, the classical one) adaptive threshold algorithm (C-mean)
577 replaced the old buggy code (cv/src/cvadaptive...)
579 - cvSolve & cvInvert now supports CV_SVD method (pseudo inverse).
581 - Bayer->RGB conversion has been added
582 (the original code was submitted by Dirk Schaefer)
583 See cvCvtColor description in the manual
585 - cvSmooth function added that can perform Averaging (simple Blur),
586 Gaussian, Median or Bilateral smoothing.
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
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
606 - Motion segmentation is now more or less ok.
607 See samples/c/motempl.c demo script (run it on camera if possible)
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
614 - RNG can generate normally-distributed random numbers
615 see cvRandInit description in the manual
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.
623 - Camera.cpp in apps/common now supports format decompressor (ICM), so
624 LkDemo and HMMDemo can work with arbitrary video formats.
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.
646 >>> The following problems have been noticed or may still remain: <<<
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
659 =============================================================================
660 Release OpenCV beta 2.1, Friday, November 30, 2001
661 =============================================================================
663 >>> New features/functionality: <<<
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.
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
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.
691 >>> Here is the list of fixed bugs: <<<
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
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.
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.
715 2. FindFundamentalMatrix - the same. Inaccurate result in some cases.
718 =============================================================================
719 Release OpenCV beta 2, Friday, August 14, 2001
720 =============================================================================
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
725 2. The following basic matrix/image operations were added:
728 helper operations (copy,set,mirror)
731 arithmetics (+,-) and logic operations accept mask as an optional parameter
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.
737 4. Image statistics, background accumulation and some other function groups
738 extended to handle wider sets of images/matrices formats.
740 5. Mask support added to cvGoodFeaturesToTrack
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
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).
753 8. cvSeqPush[Front] and cvSeqInsert return pointer to the inserted element.
755 9. More experimental stuff has been added (including graph traversal functions,
756 etc). It resides in the separate library CvAux
758 10. Morphology functions speeded up (arbitrary structuring element case).
760 >>>Here is list of bug fixes:<<<
762 The following bugs have been fixed still OpenCV beta 1:
763 ==========================================================
768 1. Scharr filter now works properly. Use cvSobel with aperture size = CV_SCHARR.
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.
776 2. FindFundamentalMatrix - the same. Inaccurate result in some cases.
778 =============================================================================
779 Release OpenCV beta 1, Friday, January 12, 2001
780 =============================================================================
782 1. Intefaces of many functions have been changed. See interface_changes.txt for
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
789 >>>Here is status on bugs:<<<
791 The following bugs have been fixed still OpenCV alpha 3.4:
792 ==========================================================
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
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
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.
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.
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.
847 2. SVD still has problems - inaccurate result in some cases.
848 3. FindFundamentalMatrix - the same. Inaccurate result in some cases.
851 =============================================================================
852 Release OpenCV 00.00.34, Monday, October 23, 2000
853 =============================================================================
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.
859 ---------------------------------------------------------------------------------
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)
869 6.5. The repeatedly reported bug in MatchTemplate has been fixed in previous release.
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
879 Not a bug, but a mis-feature: OpenCV still depends on IPL.
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.
885 IId. Newly appeared known bugs:
886 1. cvMinEigenVal doesn't work properly now.
887 2. Therefore, cvGoodFeaturesToTrack produces incorrect results.
890 =============================================================================
891 Release OpenCV 00.00.33b, Monday, September 13, 2000
892 =============================================================================
894 I. License is fixed to confirm Open Source project status.
895 It is placed into all headers.
897 ---------------------------------------------------------------------------------
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.
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
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.
917 =============================================================================
918 Release OpenCV 00.00.33a, Monday, September 4, 2000
919 =============================================================================
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.
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.
928 III. We moved to IPL v.2.2.
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.
938 V. Updated calibration toolbox for MATLAB has been included into the package.
940 VI. Adaptive threshold and draft code for planar subdivisions (delaunay triangulation &
941 voronoi tesselation) have been added to the library.
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.
947 ---------------------------------------------------------------------------------
949 VIIIa. The following bugs have been fixed:
950 1. cvFloodFill works incorrectly with images, which height is 2.
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.
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.
962 =============================================================================
963 Release OpenCV 00.00.33, Tuesday, August 1, 2000
964 =============================================================================
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
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
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.
984 =============================================================================
985 Release OpenCV 00.00.32, Tuesday, Jule 4, 2000
986 =============================================================================
989 The following bugs have been fixed:
990 1. cvCalcBackProject crashes due to invalid code, produced from
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.
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.
1014 1. Bug fixed: color JPEG were read incorrectly by cvlgrfmts
1016 III. Filters/Applications.
1017 1. Bug fixed: Sometimes incorrect (empty) position could be selected in image base
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.
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.
1032 =============================================================================
1033 Release CVL 00.00.31, Monday, June 5, 2000
1034 =============================================================================
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.
1044 Functionality improvements/extensions/addings
1045 ---------------------------------------------
1047 o DShow tracking filters' interface has been simplified
1048 o A few bugs in the library and applications fixed.
1051 =============================================================================
1052 Release CVL 00.00.30, Friday, May 29, 2000
1053 =============================================================================
1056 ---------------------------------------------
1057 o Additonal documentation have been added.
1058 o Library executables were renamed to CV[d].lib
1061 Functionality improvements/extensions/addings
1062 ---------------------------------------------
1064 o cvGoodFeaturesToTrack has been improved
1065 o congruental RNG was replaced with MWC.
1069 --------------------------------------------------------------------
1071 o 4 of pyramids functions have been optimized for WMT
1074 =============================================================================
1075 Release CVL 00.00.29, Friday, May 19, 2000
1076 =============================================================================
1079 ---------------------------------------------
1080 o Many documentation have been added.
1083 Functionality improvements/extensions/addings
1084 ---------------------------------------------
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.
1093 =============================================================================
1094 Release CVL 00.00.28, Monday, May 15, 2000
1095 =============================================================================
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
1109 o Almost all the applications (VMDemo, Hawk, Calibration filter,HMMDemo)
1110 have been modified to call new library.
1113 Functionality improvements/extensions/addings
1114 ---------------------------------------------
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.
1122 --------------------------------------------------------------------
1124 o HMM has been greatly speeded up (~10 times) due to faster log,exp implementations.
1127 =============================================================================
1128 Release CVL 00.00.27, Saturday, April 29, 2000
1129 =============================================================================
1132 ---------------------------------------------
1133 o ippiCVL was renamed to ippCV everywhere
1135 Functionality improvements/extensions/addings
1136 ---------------------------------------------
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.
1143 o Tested Lucas-Kanade pyramid based optical flow is in the library already!
1144 (Several bugs were fixed).
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.
1157 --------------------------------------------------------------------
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.
1165 =============================================================================
1166 Release CVL 00.00.26, Friday, April 14, 2000
1167 =============================================================================
1170 ---------------------------------------------
1171 o IPPM has been embedded into ippCV. External functions were placed into
1174 Functionality improvements/extensions/addings
1175 ---------------------------------------------
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
1182 Sub-pixel corner finder is implemented. It is activated by switching "Fine tuning"
1184 Camera parameters are shown in status window
1185 View blinks when frame is grabbed
1187 o Extracting rectangle with sub-pixel accuracy was added.
1188 o Lucas-Kanade pyramid based optical flow was added (not tested yet).
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
1206 --------------------------------------------------------------------
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%)
1212 =============================================================================
1213 Release CVL 00.00.25, Thursday, March 31, 2000
1214 =============================================================================
1217 ---------------------------------------------
1218 o Sources of algorithmic and performance tests have been moved into separeate
1220 o Environment variable has been introduced to support custom version of Proton
1221 to compile the library.
1223 Functionality improvements/extensions/addings
1224 ---------------------------------------------
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.
1229 o ippiSharr filters to calculate image derivatives more
1230 precisely have been added .
1232 o Histogram calculation with mask support has been added.
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.
1239 o Pyramid-based color segmentation interface has been changed. It returns
1240 a sequence (IppiSeq) of connected components instead of array.
1242 o Fitting line via M-Estimators has been added.
1244 o Pixel access macroses have been extended to support BL images.
1246 o Functions to make image undistortion for input from camera have been added.
1247 Simple (nearest neighbor) and antialiazed (bilinear interpolation) modes are
1252 --------------------------------------------------------------------
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.
1265 Scripting Environment/Scripts
1266 -----------------------------------------------
1267 o Several bugs were fixed, so the application becomes much more stable.
1270 =============================================================================
1271 Release CVL 00.00.24, Wednesday, March 1, 2000
1272 =============================================================================
1274 Additions (March 3, 2000)
1275 --------------------------
1276 o Updated library manual
1277 o Updated calibration filter and document on it (CalibFilter.doc)
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,
1289 Functionality improvements/extensions/addings
1290 ---------------------------------------------
1292 o Calibration filter with 3D view of calibration etalon
1293 (after calibration is completed)
1295 o Face details recongition script.
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).
1300 -----------------------------------------------
1301 o ippiCalcBackProject(8u/8s/32f)C1R
1304 -----------------------------------------------
1305 o Pyramid-based segmentation
1306 ippiPyrSegmentation8uC1R
1307 ippiPyrSegmentation8uC3R
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)
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
1322 -------------------------------------------------------
1323 o ippiThickEllipse, ippiEllipseSector, ippiPolyLine, ippiPolyLineAA,
1324 ippiDrawContours (8uC1 flavor)
1327 --------------------------------------------------------------------
1328 o Canny edge detector has been optimized using MMX
1331 Scripting Environment/Scripts
1332 -----------------------------------------------
1334 o More advanced text editor in Hawk
1336 =============================================================================
1337 Release CVL 00.00.23, Monday, February 16, 2000
1338 =============================================================================
1340 Functionality improvements/extensions/addings
1341 ---------------------------------------------
1343 o Sequence has been merged with RWSequence
1345 -----------------------------------------------
1346 (only histograms on arrays are supported now)
1347 o ippiCalculateHist(8u/8s/16s/32f)C1R
1350 -----------------------------------------------
1351 o Calculating convexity defects
1352 ippiConvexityDefects
1353 o Checking a contour for convexity
1354 ippiCheckContourConvexity
1357 -----------------------------------------------
1358 o Motion segmentation: ippiMotionSegment32fC1R
1361 -----------------------------------------------
1362 o Line samplers and iteration through the line:
1363 ippiSampleLine(8u/32f)C1/C3R
1364 ippiInitLineIterator(8u/32f)C1/C3R
1367 -------------------------------------------------------
1368 o ippiPutText supports bottom-origin image orienation
1369 by specifying negative step
1372 -----------------------------------------------
1373 o Pyramid-based segmentation: ippiPyrSegmentation8uC1R
1376 ---------------------------------------------------
1377 o All the existing histogram functions were tested
1378 o Sequence, Set and Graph structures were tested
1382 --------------------------------------------------------------------
1383 o All the floodfill functions have been optimized algorithmically.
1386 Scripting Environment/Scripts
1387 -----------------------------------------------
1388 o Views were enhanced
1389 o Support for sliders was added.
1392 =============================================================================
1393 Release CVL 00.00.22, Monday, January 31, 2000
1394 =============================================================================
1396 Functionality improvements/extensions/addings
1397 ---------------------------------------------
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
1425 o ippiAddVertexToGraph
1426 o ippiRemoveVertexFromGraph
1427 o ippiAddEdgeToGraph
1428 o ippiRemoveEdgeFromGraph
1430 o ippiFindGraphVertex (macro)
1431 o ippiCalcGraphVertexDegree
1434 -----------------------------------------------
1435 (only histograms on arrays are supported now)
1438 o ippiMakeHistHeaderForArray
1439 o ippiQueryHistValue
1442 o ippiGetMinMaxHistValue
1447 -----------------------------------------------
1448 o ippiCalcCovarMatrix_8u32f(R) (non-ROI version is in IPPM)
1449 o ippiCalcDecompCoeff_8u32f(R)
1450 o ippiEigenProjection_8u32f(R)
1453 -----------------------------------------------
1457 -----------------------------------------------
1458 o New functions from "Eigen faces" group have been optimized for SSE
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.
1471 =============================================================================
1472 Release CVL 00.00.21, Monday, January 17, 2000
1473 =============================================================================
1475 Functionality improvements/extensions/addings
1476 ---------------------------------------------
1478 o New functions/classes/methods
1479 -----------------------------------------------
1480 o Contours processing functions:
1481 o ippiContourLevelFromCntrTree
1484 o ippiCalcEigenObjects_8u32fR - finds all the eigen objects.
1486 o Template matching functions (each includes 6 methods):
1487 o ippiMatchTemplate8uC1R
1488 o ippiMatchTemplate8sC1R
1489 o ippiMatchTemplate32fC1R
1492 -----------------------------------------------
1493 o Matrix functions for double precision were optimized for WMT
1496 -----------------------------------------------
1497 o HTML variant of IPPM documentation was added
1499 o Scripting Environment/Scripts
1500 -----------------------------------------------
1501 o Demo script for letter recognition was added.
1503 =============================================================================
1504 Release CVL 00.00.20, Wednesday, January 5, 2000
1505 =============================================================================
1507 Functionality improvements/extensions/addings
1508 ---------------------------------------------
1510 o New functions/classes/methods
1511 -----------------------------------------------
1512 o Contours processing functions:
1513 o ippiMatchContourTrees
1514 o ippiContourFromCntrTree
1515 o Earth Mover Distance
1517 o Tracker classes: CvlKalmanTracker & CvlCondensationTracker were added.
1518 o DShow filters, which use new tracker classes, were created.
1521 -----------------------------------------------
1522 o Optical flow (block matching algorithm) optimized for MMX/SSE.
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.
1530 =============================================================================
1531 Release CVL 00.00.19, Friday, December 17, 1999
1532 =============================================================================
1534 Functionality improvements/extensions/addings
1535 ---------------------------------------------
1537 o New functions/classes/methods
1538 -----------------------------------------------
1539 o Calibration functions:
1541 o ippiCalibrateCamera
1542 o ippiFindChessBoardCornerGuesses8uC1R
1543 o + several internal functions:
1545 _ipcvInitIntrinsicParams
1546 _ipcvNormalizeImagePoints
1547 _ipcvRigidMotionTransform
1549 _ipcvFindExtrinsicCameraParams
1552 o ippiContourArea, ippiContourSecArea
1553 o ippiCreateContourTree
1555 o ippiFindMinEnclosingCircle
1557 o Utility functions:
1558 o ippiRGBToGray_8uC3C1R
1560 o Detection functions:
1561 o ippiFindCornerSubPix8uC1R
1567 o ippmTransMatrix_32f
1568 o ippmTransMatrix_64d
1569 o ippmNormVector_32f
1570 o ippmNormVector_64d
1572 o ippmMulVectors_32f
1573 o ippmSVDecomposition_32f
1574 o ippmCopyMatrix_64d
1575 o ippmSetIdentity_64d
1576 o ippmCopyVector_64d
1577 o ippmScaleVector_64d
1579 o ippmScaleMatrix_64d
1581 o ippmMulTransMatrixR_64d
1583 o ippmComplexMult_32f
1584 o ippmComplexMult_64d
1585 o ippmDotProduct_64d
1587 o ippmTransposeMatrix_64d
1589 o Several misprints in IppiCVL manual have been fixed.
1591 =============================================================================
1592 Release CVL 00.00.18, Wednesday, December 1, 1999
1593 =============================================================================
1595 Functionality improvements/extensions/addings
1596 ---------------------------------------------
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
1616 o Iterative contour retrieving functions
1618 o ippiStartFindContours_Plane8uC1R
1619 o ippiStartFindContours_Hierarchic32fC1R
1620 o ippiInsertContourIntoTree
1621 o ippiFindNextContour
1622 o ippiSubstituteContour
1623 o ippiEndFindContours
1625 o Convex hull functions, working with ippiSequence
1627 o ippiConvexHullApprox
1629 o Minimal bounding box - ippiMinAreaRect
1630 o Moments on contours - ippiContoursMoments
1632 o Wrapper functions:
1633 o ippiImage utility functions:
1638 o ippiInitImageHeader
1639 o ippiCreateImageData
1640 o ippiReleaseImageData
1641 o ippReleaseImageHeader
1645 o Processing functions:
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.
1656 o CamShift class rewritten to support multi-dimensional histograms
1657 o Several misprints in IppiCVL manual have been fixed.
1660 =============================================================================
1661 Release CVL 00.00.17, Monday, November 15, 1999
1662 =============================================================================
1664 Functionality improvements/extensions/addings
1665 ---------------------------------------------
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
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
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.
1684 =============================================================================
1685 Release CVL 00.00.16, Monday, November 1, 1999
1686 =============================================================================
1688 Functionality improvements/extensions/addings
1689 ---------------------------------------------
1691 o New functions/classes/methods
1692 -----------------------------------------------
1693 o Contour processing functions:
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,
1704 ippiFindDominantPoints (one method: IPAN99)
1705 o Utility functions:
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]
1716 o Flood fill functions are extended to return
1717 bounding rectangle of filled area
1719 o Optimization/Improvements
1720 -----------------------------------------------
1721 o Morhology function have been optimized another time
1722 and made independed from IPL.
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.
1731 =============================================================================
1732 Release CVL 00.00.15, Friday, October 15, 1999
1733 =============================================================================
1735 Functionality improvements/extensions/addings
1736 ---------------------------------------------
1738 o New functions/classes/methods
1739 -----------------------------------------------
1740 o First Active Contour related functions -
1741 ippiSnakeImage8uC1R, ippiSnakeImageGrad8uC1R were added
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.
1750 =============================================================================
1751 Release CVL 00.00.14, Friday, October 1, 1999
1752 =============================================================================
1754 Functionality improvements/extensions/addings
1755 ---------------------------------------------
1758 -----------------------------------------------
1759 o Many matrix functions have been renamed
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.
1768 o Special functions for 6x6 matrices were added: Add, Sub, Transpose, Scale.
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.
1779 =============================================================================
1780 Release CVL 00.00.13, Wednesday, September 15, 1999
1781 =============================================================================
1783 Functionality improvements/extensions/addings
1784 ---------------------------------------------
1787 -----------------------------------------------
1788 o Tests have been made shared between configurations.
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.
1798 o Multiply, Transpose.
1799 o Special Add, Sub, Multiply, Scale, and Transposition functions for
1800 3x3 and 4x4 matrices.
1801 o Mahalanobis distance.
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.
1810 =============================================================================
1811 Release CVL 00.00.12, Tuesday, August 31, 1999
1812 =============================================================================
1814 Functionality improvements/extensions/addings
1815 ---------------------------------------------
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.
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.
1840 DeleteMatrix, DeleteVect, AddMatrix, AddVect, CalcQuadrForm,
1841 CopyMatrix, CopyVector, CreateMatrix, CreateVect, CrossProduct,
1842 DotProduct, GetElement, GetMatrix, GetVector, ScaleVect,
1843 SetElement, SetMatrix, SetVector, SubVect, TransformVect.
1846 -----------------------------------------------
1847 o Next IPPM functions were optimized for SSE:
1848 AddVect, SubVect, DotProduct, CopyVector, CopyMatrix, SetVector,
1849 SetMatrix, GetVector, GetMatrix.
1852 -----------------------------------------------
1853 o New variant of CVL manual with many corrections
1854 (but still not up to date) delivered.
1856 =============================================================================
1857 Release CVL 00.00.11, Friday, August 13, 1999
1858 =============================================================================
1860 Functionality improvements/extensions/addings
1861 ---------------------------------------------
1864 -----------------------------------------------
1867 All flavors of the ippiNorm function:
1868 o ippiNormwith mask support (all flavors) were implemented but not tested yet,
1870 o Parameter origin was added to CalcMotionGradient32fC1R. It allows to get correct
1871 motion direction for both top-origin and bottom-origin functions
1874 -----------------------------------------------
1875 o opSize in detection functions changes its meaning
1876 and now it is a true aperture size
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
1887 =============================================================================
1888 Release CVL 00.00.10, Saturday 31-07-99
1889 =============================================================================
1891 Functionality improvements/extensions/addings
1892 ---------------------------------------------
1895 -----------------------------------------------
1898 All flavors of the ippiNorm function:
1899 o ippiNorm(8u/8s/32f)C(1/3)(R),
1901 (C,L1,L2), (||A||, ||A-B||,||A-B||/||A||)
1904 o Drawing primitives
1908 o ippiPutText (single font supported now, italic/bold)
1910 o Background differencing primitives (mask version)
1912 o ippiMaskMultiplyAcc
1916 o Canny Edge Detector
1920 o Algorithmic & perfomance tests created for next functions
1921 ---------------------------------------------------------
1926 o Drawing primitives
1931 o Background differencing (mask)
1932 o Pixel Access Macros
1936 o Drawing primitives
1944 o swl_test extended with pixel access and drawing samples
1947 =============================================================================
1948 Release CVL 00.00.09, Thursday 15-07-99
1949 =============================================================================
1951 Functionality improvements/extensions/addings
1952 ---------------------------------------------
1955 -----------------------------------------------
1958 All flavors of the next functions:
1961 o ippiMean_StdDev(Mask)
1962 o ippiMinMaxLoc(Mask)
1965 ----------------------
1966 o ippiGetSpatialMoment
1967 o ippiGetCentralMoment
1968 o ippiGetNormalizedCentralMoment
1970 o Drawing primitives
1978 o ippiInitPOSITObject
1979 o ippiFreePOSITObject
1982 o Distance transform
1983 o ippiDistTransform3x3_8uC1R
1984 o ippiDistTransform5x5_8uC1R
1985 o ippiDistTransformGenMask3x3
1986 o ippiDistTransformGenMask5x5
1990 o CvlThreshType enumeration and its members
1991 changed their prefix to ippi/IPPI
1994 o Algorithmic & perfomance tests created for next functions
1995 ---------------------------------------------------------
1999 CountNonZero, SumPixels, Mean(Mask),
2000 Mean_StdDev(Mask), MinMaxLoc(Mask)
2006 CountNonZero, SumPixels, Mean(Mask),
2007 Mean_StdDev(Mask), MinMaxLoc(Mask)
2009 =============================================================================
2010 Release CVL 00.00.08, Thursday 01-07-99
2011 =============================================================================
2016 o CVL has been divided by two parts:
2017 IPPI CVL (low-level) and
2018 CVL (hi-level C++ lib)
2020 o Project tree was changed (see readme.txt for description)
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.
2032 Functionality improvements/extensions/addings
2033 ---------------------------------------------
2036 -----------------------------------------------
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)
2046 -----------------------------------------------
2047 o cvlUpdateMotionHistory*
2048 o cvlRenormMotionHistory*
2049 o cvlApproxNormalFlow*
2051 o Algorithmic & perfomance tests created
2052 -----------------------------------------------
2058 -----------------------------------------------
2059 o CAMSHIFT filter: writing pixels out of image
2062 =============================================================================
2063 Release CVL 00.00.07, Thursday 10-06-99
2064 =============================================================================
2067 Functionality improvements/extensions/addings
2068 ---------------------------------------------
2071 -----------------------------------------------
2072 o Fixed Filters group
2076 o cvlPreEdgeDetect32fC1R
2077 o cvlPreRidgeDetect32fC1R
2078 o cvlPreCornerDetect32fC1R
2079 o cvlCalcCornerEigenValsAndVecs(8u/8s/32f)C1R
2081 o Mathematical Utility functions
2082 o cvl(b)CartToPolar32f
2085 o cvlCalcMotionGradient32fC1R
2088 o cvlFloodFill(8u/32f)C1R
2090 o View Morphing related functions (too many to list them)
2093 o Algorithmic & perfomance tests created
2094 -----------------------------------------------
2097 o Fixed Filters (32f mode)
2098 o Feature detection (all the rest)
2099 o MathUtils (CartToPolar)
2100 o Motion Templates II (all)
2104 o Fixed Filters (32f mode)
2105 o MathUtils (CartToPolar)
2106 o Motion Templates II (all)
2113 o CAMSHIFT DirectShow Demo as well as supporting
2114 hi-level CAMSHIFT class
2115 o View Morphing Demo
2118 o Switcher library and custom DLLs are introduced
2119 -----------------------------------------------
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.
2128 =============================================================================
2129 Release CVL 00.00.06, Monday 31-05-99
2130 =============================================================================
2133 Functionality improvements/extensions/addings
2134 ---------------------------------------------
2137 -----------------------------------------------
2139 o cvlCamshift(8u/8s/32f)C1R
2140 o cvlMeanShift(8u/8s/32f)C1R
2142 o Fixed Filters group
2143 o cvlSobel(8u/8s/32f)C1R
2144 o cvlLaplace(8u/8s)C1R
2147 o cvlPreEdgeDetect(8u/8s)C1R
2148 o cvlPreRidgeDetect(8u/8s)C1R
2149 o cvlPreCornerDetect(8u/8s)C1R
2151 o Mathematical Utility functions
2152 o cvl(b)FastArctan32f
2159 o cvlUpdateMHIByTime32fC1R
2160 o cvlCalcGlobalOrientation32fC1R
2163 o cvlCalcOpticalFlowHS_8u32fR
2167 -----------------------------------------------
2169 o cvlCalcOpticalFlowPG_8u32f(R)
2172 o Algorithm & perfomance tests created
2173 -----------------------------------------------
2179 o Feature detection (for completed functions)
2180 o Optical flow (HS algorithm)
2181 o MathUtils (for completed functions)
2184 o Optical flow (HS algorithm)
2189 ------------------------------------------------
2190 o All algorithmic tests corrected to be able to run in batch mode.
2196 o Morphology functions (32fC1 flavor) become
2197 faster for rectangular structuring element
2200 =============================================================================
2201 Release CVL 00.00.05, Friday 14-05-99
2202 =============================================================================
2205 Functionality improvements/extensions/addings
2206 ---------------------------------------------
2208 o Algorithm & perfomance tests created or tested.
2209 -----------------------------------------------
2211 o The test for CalcOpticalFlowBM_8u32fR added.
2212 o The tests for Background function were changed.
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).
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.
2230 o SSE-containing files are compiled by Proton now, so it is'nt neccessary to
2231 switch compiler to build A6 version.
2236 Running Average Functions pass accuracy tests (test fixed).
2239 =============================================================================
2240 Release CVL 00.00.04, Friday 30-04-99
2241 =============================================================================
2243 o The document cvl.doc is changed
2246 Functionality improvements/extensions/addings
2247 ---------------------------------------------
2251 o Calculation of optical flow using Lucas&Kanade technique:
2252 CalcOpticalFlowLK_8u32fR
2254 o Algorithm & perfomance tests created or tested.
2255 -----------------------------------------------
2257 o The test for CalcOpticalFlowLK_8u32fR added.
2258 o The tests for Background function were changed.
2261 o The tests for Background function were changed.
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.
2277 =============================================================================
2278 Release CVL 00.00.03, Thursday 15-04-99
2279 =============================================================================
2281 o The structure of the document cvl.doc is changed
2284 Functionality improvements/extensions/addings
2285 ---------------------------------------------
2289 o The next functions were created
2290 o Added macro for direct access to pixel
2291 o The function cvlCalcOpticalFlowPG_8u32fR added
2293 o Algorithm & perfomance tests created
2294 ------------------------------------
2296 o The test for cvlCalcOpticalFlowPG_8u32fR function created
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).
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.
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
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)
2325 =============================================================================
2326 Release CVL 00.00.02, Wednesday 30-03-99
2327 =============================================================================
2329 Functionality improvements/extensions/addings
2330 ---------------------------------------------
2334 o The next functions was created
2335 cvlBackProject1D8uC1R
2336 cvlBackProject1D8sC1R
2337 cvlBackProject1D32fC1R
2339 cvlBackProjectGraph8uC1R
2340 cvlBackProjectGraph8sC1R
2341 cvlBackProjectGraph32fC1R
2343 cvlBackProjectPatch1D8uC1R
2344 cvlBackProjectPatch1D8sC1R
2345 cvlBackProjectPatch1D32fC1R
2347 cvlBackProjectPatchGraph8uC1R
2348 cvlBackProjectPatchGraph8sC1R
2349 cvlBackProjectPatchGraph32fC1R
2358 cvlMultiplyAcc32f32f
2364 cvlUpdateMotionHistory32fC1
2365 cvlUpdateMotionHistory8uC1R
2366 cvlUpdateMotionHistory8sC1R
2367 cvlUpdateMotionHistory32fC1R
2369 cvlRenormMotionHistory8uC1R
2370 cvlRenormMotionHistory8uC1
2379 cvlApproxNormalFlow8uC1R
2380 cvlApproxNormalFlow8sC1R
2381 cvlApproxNormalFlow32fC1R
2395 cvlCalcOpticalFlowPG_8u
2398 cvlMultiplyAcc32f32f
2400 o Algorithm & perfomance tests created
2401 ------------------------------------
2403 cvlApproxNormalFlow8uC1R
2404 cvlApproxNormalFlow8sC1R
2405 cvlApproxNormalFlow32fC1R
2409 cvlCalcOpticalFlowPG_8u
2411 cvlBackProject1D8uC1R
2412 cvlBackProject1D8sC1R
2413 cvlBackProject1D32fC1R
2415 cvlBackProjectGraph8uC1R
2416 cvlBackProjectGraph8sC1R
2417 cvlBackProjectGraph32fC1R
2419 cvlBackProjectPatch1D8uC1R
2420 cvlBackProjectPatch1D8sC1R
2421 cvlBackProjectPatch1D32fC1R
2423 cvlBackProjectPatchGraph8uC1R
2424 cvlBackProjectPatchGraph8sC1R
2425 cvlBackProjectPatchGraph32fC1R
2451 Morphology function group,
2452 Background differencing group partially
2456 cvlUpdateMotionHistory8uC1
2457 cvlUpdateMotionHistory8sC1
2463 =============================================================================
2464 Release CVL 00.00.01, Monday 15-03-99
2465 =============================================================================
2467 Functionality improvements/extensions/addings
2468 ---------------------------------------------
2472 o The next functions was created
2481 cvlCreateStructuringElement
2482 cvlDeleteStructuringElement
2484 cvlCalcOpticalFlowBM_8u
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
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.
2501 o Bug in cvlUpdateMotionHistory was fixed.
2505 =============================================================================
2506 Release CVL 00.00.00, Friday 05-03-99
2507 =============================================================================
2509 Functionality improvements/extensions/addings
2510 ---------------------------------------------
2514 o The next functions was created
2515 /* Creating/Releasing histograms */
2517 cvlReleaseHist1DGrad
2521 /* Calculation histograms from different data types */
2522 cvlCalcHist1DGrad8uC1
2523 cvlCalcHist1DGrad8sC1
2524 cvlCalcHist1DGrad32fC1
2527 cvlCalcHistGrad32fC1
2529 /* Basic histogram operations */
2531 cvlClearOutAllDataHist1DGrad
2532 cvlIntersectionHist1DGrad
2542 cvlInsertPointHistGrad
2543 cvlFindPointHistGrad
2544 cvlDeletePointHistGrad
2549 cvlIntersectionHistGrad
2553 /* Pyramids functions */
2579 /* MotionTemplate operations */
2580 cvlUpdateMotionHistory8uC1
2581 cvlUpdateMotionHistory8sC1
2583 o Created the Demo application - object tracker.