doc/Makefile.am. Otherwise, the changes are lost when automake is
rerun, which now (?) happens sometimes (?) during the build. This then
leads to massive PLIST divergence. Bump PKGREVISION in case anyone,
such as perhaps the person who updated it, installed it without
PKG_DEVELOPER set.
Version 1.5.11beta01 [April 28, 2012]
Revised scripts/makefile.darwin: use system zlib; remove quotes around
architecture list; add missing ppc architecture; add architecture options
to shared library link; don't try to create a shared lib based on missing
RELEASE variable.
Enable png_set_check_for_invalid_index() for both read and write.
Removed #ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED/#endif in pngpriv.h around
declaration of png_handle_unknown().
Added -lssp_nonshared in a comment in scripts/makefile.freebsd
and changed deprecated NOOBJ and NOPROFILE to NO_OBJ and NO_PROFILE.
Version 1.5.11rc01 [May 23, 2012]
No changes.
Version 1.5.11rc02 [May 29, 2012]
Fixed some typos in comments.
Revised CMakeLists.txt to not attempt to make a symlink under mingw.
Added two images to contrib/pngsuite (1-bit and 2-bit transparent grayscale),
and renamed three whose names were inconsistent with those in
pngsuite/README.txt.
Version 1.5.11rc03 [June 4, 2012]
Do not depend upon a GCC feature macro being available for use in generating
the linker mapfile symbol prefix.
Made fixes for new optimization warnings from gcc 4.7.0. The compiler
performed an optimization which is safe but then warned about it.
Changing the type of 'palette_number' in pngvalid.c removes the warning.
Version 1.5.11rc04 [June 6, 2012]
Improved performance of new do_check_palette_indexes() function.
Version 1.5.11rc05 [June 7, 2012]
Don't check palette indexes if num_palette is 0 (as it can be in MNG files).
Version 1.5.11 [June 14, 2012]
Include zlib.h in contrib/gregbook and contrib/visupng examples.
History
=======
0.3.3 (2012-04-23)
------------------
* Set hyperlinks to header of lanes on SVG image
* Fill background of lane header with lane.color attribute
* Set "things_have_changed" flag when adding text chunks, so the "-force"
option is no longer necessary when adding text to an already-compressed
file.
* Direct usage message and error messages to stderr instead of stdout. If
anyone is still using DOS they may have to change the "if 0" at line
990 to "if 1".
* Added "pngcrush -n -v files.png" to the usage message.
Version 0.7.1 :
Windows-only bugfix.
Version 0.7.0 :
* Interface
* Added new option: output on new image
* Added new energy functions based on luma
* Added edit buttons for aux layers
* Switch to smaller, always-on-top interface while
creating/editing aux layers
* After creating/editing aux layers the focus goes back
to the layer which is to be rescaled
* If an aux layer is deleted during or between sessions,
it is not substitued by another one and the corresponding
setting is made inactive
* Added info icons for aux layers
* Added text to some buttons
* No longer use extra layers to create the image thumbnail
(this means no more "flashing" in the layers toolbox when
staring the plugin or creating a new aux layer)
* Modified behaviour: pressing "Back" in the interactive
dialog saves the plugin values
* Bugfix: fixed Windows localization
* Bugfix: fixed some minor issues arising when working on
a new layer and going back and forth through
interactive/non-interactive modes
not tested. New ffmpeg support not enabled in package.
2.4.1
June, 2012
The changes since 2.4.0
The GPU module now supports CUDA 4.1 and CUDA 4.2 and can be
compiled with CUDA 5.0 preview.
Added API for storing OpenCV data structures to text string
and reading them back:
cv::calcOpticalFlowPyrLK now supports precomputed pyramids as
input.
Function signatures in documentation are made consistent with
source code.
Restored python wrappers for SURF and MSER.
45 more bugs in our bug tracker have been fixed
2.4.0
May, 2012
The major changes since 2.4 beta
OpenCV now provides pretty complete build information via
(surprise) cv::getBuildInformation().
reading/writing video via ffmpeg finally works and it's now
available on MacOSX too.
note 1: we now demand reasonably fresh versions of ffmpeg/libav
with libswscale included.
note 2: if possible, do not read or write more than 1 video
simultaneously (even within a single thread) with ffmpeg 0.7.x
or earlier versions, since they seem to use some global structures
that are destroyed by simultaneously executed codecs. Either
build and install a newer ffmpeg (0.10.x is recommended), or
serialize your video i/o, or use parallel processes instead of
threads.
MOG2 background subtraction by Zoran Zivkovic was optimized
using TBB.
The reference manual has been updated to match OpenCV 2.4.0
better (though, not perfectly).
>20 more bugs in our bug tracker have been closed
(http://code.opencv.org/projects/opencv/roadmap).
Asus Xtion is now properly supported for HighGUI. For now, you
have to manually specify this device by using
VideoCapture(CV_CAP_OPENNI_ASUS) instead of
VideoCapture(CV_CAP_OPENNI).
2.4 beta
April, 2012
As usual, we created 2.4 branch in our repository
(http://code.opencv.org/svn/opencv/branches/2.4), where we will
further stabilize the code. You can check this branch periodically,
before as well as after 2.4 release.
Common changes
At the age of 12, OpenCV got its own home! http://code.opencv.org
is now the primary site for OpenCV development and http://opencv.org
(to be launched soon) will be the official OpenCV user site.
Some of the old functionality from the modules imgproc, video,
calib3d, features2d, objdetect has been moved to legacy.
CMake scripts have been substantially modified. Now it's very
easy to add new modules - just put the directory with include,
src, doc and test sub-directories to the modules directory,
create a very simple CMakeLists.txt and your module will be
built as a part of OpenCV. Also, it's possible to exclude
certain modules from build (the CMake variables
"BUILD_opencv_<modulename>" control that).
New functionality
The new very base cv::Algorithm class has been introduced. It's
planned to be the base of all the "non-trivial" OpenCV
functionality. All Algorithm-based classes have the following
features:
"virtual constructor", i.e. an algorithm instance can be created by name;
there is a list of available algorithms;
one can retrieve and set algorithm parameters by name;
one can save algorithm parameters to XML/YAML file and then load them.
A new ffmpeg wrapper has been created that features multi-threaded
decoding, more robust video positioning etc. It's used with
ffmpeg starting with 0.7.x versions.
features2d API has been cleaned up. There are no more numerous
classes with duplicated functionality. The base classes
FeatureDetector and DescriptorExtractor are now derivatives of
cv::Algorithm. There is also the base Feature2D, using which
you can detect keypoints and compute the descriptors in a single
call. This is also more efficient.
SIFT and SURF have been moved to a separate module named nonfree
to indicate possible legal issues of using those algorithms in
user applications. Also, SIFT performance has been substantially
improved (by factor of 3-4x).
The current state-of-art textureless detection algorithm,
Line-Mod by S. Hinterstoisser, has been contributed by Patrick
Mihelich. See objdetect/objdetect.hpp, class Detector.
3 face recognition algorithms have been contributed by Philipp
Wagner. Please, check opencv/contrib/contrib.hpp, FaceRecognizer
class, and opencv/samples/cpp/facerec_demo.cpp.
2 algorithms for solving PnP problem have been added. Please,
check flags parameter in solvePnP and solvePnPRansac functions.
Enhanced LogPolar implementation (that uses Blind-Spot model)
has been contributed by Fabio Solari and Manuela Chessa, see
opencv/contrib/contrib.hpp, LogPolar_* classes and
opencv/samples/cpp/logpolar_bsm.cpp sample.
A stub module photo has been created to support a quickly
growing "computational photography" area. Currently, it only
contains inpainting algorithm, moved from imgproc, but it's
planned to add much more functionality.
Another module videostab (beta version) has been added that
solves a specific yet very important task of video stabiliion.
The module is under active development. Please, check
opencv/samples/cpp/videostab.cpp sample.
findContours can now find contours on a 32-bit integer image
of labels (not only on a black-and-white 8-bit image). This is
a step towards more convenhich results in better edge maps
Python bindings can now be used within python threads, so one
can write multi-threaded computer vision applications in Python.
OpenCV on GPU
Different Optical Flow algorithms have been added:
Brox (contrtions;
Improved performance.
pyrUp/pyrDown implementations.
Matrix multiplication on GPU (wrapper for the CUBLAS library).
This is optional, user need to compile OpenCV with CUBLAS
support.
OpenGL back-end has been implemented for highgui module, that
allows to display GpuMat directly without downloading them to
CPU.
Performance
A few OpenCV functions, like color conversion, morphology, data
type conversions, brute-force feature mer have been optimized
using TBB and/or SSE intrinisics.
Along with regression tests, now many OpenCV functions have
got performance tests. Now for most modules one can build
opencv_perf_<modulename> executables that run various functions
from the particular module and produce a XML file. Note that
if you want to run those tests, as well as the normal regression
tests, you will need to get (a rather big)
http://code.opencv.org/svn/opencv/trunk/opencv_extra directory
and set environment variable OPENCV_TEST_DATA_PATH to
"<your_copy_of_opencv_extra>/testdata".
Bug fixes
In this version we fixed literally hundreds of bugs. Please,
check http://code.opencv.org/projects/opencv/versions/1 for a
list of fixed bugs.
Known issues
When OpenCV is built statically, dynamically created classes
(via Algorithm::create) can fail because linker excludes the
"unused" object files. To avoid this problem, create classes
explicitly, e.g
1 Ptr<DescriptorExtractor> d = new BriefDescriptorExtractor;
the build fails
-fix gcc version detection - the original regex doesn't work for
unknown reasons (possibly a bug in cmake's regex implementation)
-deal with icon-theme.cache
Three months ago, the post-extract command was modified because it didn't
work on Solaris. The fix provided broke the non-root user build. The
problem with the original post-extract command was that it started with
$WRKDIR instead of $WRKSRC. Return this target back to a tweaked version
of the original post-extract command (and cross fingers that it still
works on Solaris)
* Write proper copyright year for zlib, depending upon ZLIB_VERNUM
Changes 1.7.27:
* Increased row_buf malloc to row_bytes+64 instead of row_bytes+16, to
match the size of big_row_buf in pngrutil.c (it is 48 in libpng14, 15, 16,
and 64 in libpng10, 12. Otherwise there is a double-free crash when the
row_buf is destroyed.
Changes 1.7.26:
* Increased the text_text buffer from 2048 to 10*2048 (Ralph Giles), and
changed an incorrect test for keyword length "< 180" to "< 80". The
text_text buffer was inadvertently reduced from 20480 to 2048 in
pngcrush-1.7.9.
* Added -DZ_SOLO to CFLAGS, needed to compile zlib-1.2.6.
* Changed user limits to width and height max 500000, malloc max 2MB,
cache max 500.
* Added -nolimits option which sets the user limits to the default
unlimited values.