Releases: lessthanoptimal/BoofCV
Releases · lessthanoptimal/BoofCV
v0.37
Removed Lombok @Getter(onMethod = @__(@Override)) - Was causing JavaDoc to silently fail
Gradle, segmentation, dense optical flow, integrations
Date : 2014/6/19
Version : Alpha 0.17
- Improved/Fixed serialization
- Several classes were missing no argument constructors
- Added ImageMiscOps.flipHorizontal()
- Added WeightSample2D_F32 for computing the weight of a sample in an abstract manor
- Reduced MeanShiftPeak from 3 classes into one
- Edge Non-Maximum suppression's documentation now clearly states that it suppresses only if adjacent pixel is
less than. This is not true non-maximum suppression since it allows equal values but seems to produce
better results- Improved unit tests to explicitly test for this behavior
- Canny edge detector would fail if threshold was zero and the image had no texture
- HysteresisEdge* code was using a value of 0 to mark traversed regions. It now uses -1 and sanity checks
the lower threshold. - Thanks Lucaro for finding this bug
- HysteresisEdge* code was using a value of 0 to mark traversed regions. It now uses -1 and sanity checks
- Added GImageMultiBand for generalized access to multi-band image data
- Added support for MultiSpectral images to:
- GBlurImageOps and BlurImageOps
- Image Segmentation / Superpixels
- Watershed
- Mean-shift
- Felzenszwalb-Huttenlocher 2004
- SLIC Superpixels
- Dense Optical Flow
- KLT Based
- Square Region Based
- Horn Schunck
- Horn Schunck Pyramid
- Brox Spacial Warping
- Fixed bugs in ConvertNV21
- Was applying YV12 byte alignment to NV21 images. Depending on image size, this could cause a crash.
- Fixed bug in ImplConvertToBitmap.multiToArray_F32()
- Didn't handle case where the input image has 3 bands and not 4
- ImageBase now provides a method for getting ImageType information
- Threshold in the interface Associate is now <= instead of <
- Android
- Added classes which greatly simplify dealing with camera previews
- Added new visualizations intended for use with segmented images
- Simplified example code
- Added XYZ and LAB color spaces
- GImageMiscOps.fillUniform() max is inclusive for both integer and float and this is enforced
- BinaryImageOps
- Erode and dilate can now be applied multiple times with a single function call
- StitchingFromMotion2D can now resize and translate the stitch image
- Thanks Julien Seinturier for the suggestion
- Convolution
- 1D convolution now supports kernels which are not symmetric
- Image gradient from a difference of two neighbors added
- Square grid calibration grid detector has been improved.
- No longer permutes through all combinations. Selects each valid square and assumes its the first instead
- Graph connection rule has been improved too to reduce false connections
- Moved serializeXML from BoofMiscOps to UtilIO
- Removing an IO function which shouldn't be in image processing
- FactoryDerivative
- If derivative type is null it will use the default
- Added ImageType to interpolate interface
- Added ImageType to ImageSegmentation interface
- Processing (http://processing.org) integration
- Lots of examples
- Simplified interface for working with BoofCV
- XStream now works without that ugly hack
- Thanks to Jörg Schaible of XStream for fixing the issue and all the help
- Webcam Capture Support
- Easy to use library for streaming webcams
- Wrote several example showing how Webcam Capture can be used with BoofCV
- Structure From Motion (SFM) example