BoofCV Change Log
From BoofCV
Jump to navigationJump to searchChange Log
Date Format: year/month/day
Date : 2015/09/20 Version : Alpha 0.19
- Removed -1 from CachedSineCosine_F32
- Change suggested by Jochem
- Original code could cause problems for edge cases in hough transform
- Moved BufferedImage to IO package since it is swing dependent
- Suggested by Baha Elkassaby
- JCodec
- Formally added it back in since it works on Android videos
- Added utilities to convert Picture into BoofCV formatted images
- Images can be serialized again
- Made ImageType serializable now
- Fixed bug where subimages were not assigned an image type.
- Scene classification
- Bag-of-Words based techniques
- K-Nearest-Neighbor classification. Learning and Classifier
- Image setTo() will now automatically resize the image to match it's input
- Added invert option to visualizing binary images
- swing and android
- Added in-place CW and CCW image rotation
- Fiducials
- Image square fiducials can now have their width individually set
- Square based fiducials now use the new polygon detector and benefit from its improved subpixel
- Fixed bug where the returned orientation was inconsistent with the JavaDoc
- Fixed another bug that caused the sides to "flip" depending on view angle
- Handling of small far away fiducials being viewed head on has improved much
- PerspectiveOps
- Can render pixel in camera frame using IntrinsicParameters
- Created FactoryMultiViewRobust for simplifying the creation of robust versions of solutions to PnP, essential, homography
- Camera Model
- Support for tangential distortion has been added
- Intrinsic parameters can now use a flow style assignment of parameters
- Removed support for flipY to simplify the code. Just flip the image if this is an issue.
- Lens distortion. More abstracted
- LensDistortionOps
- refactored several functions to make it more consistent and easier to use
- Change fullView to expand
- Many functions will now correct for lens distortion.
- Square grid calibration target
- Fixed. Multiple bugs were introduced at some point in the past but were not caught due to the lack of regression tests
- Change underlying algorithm. Now uses polygon detector for corners.
- Chessboard calibration target
- Complete re-write. Now uses polygon detector
- Corner precision appears to have improved and runs faster
- Calibration
- A single class fully specifies the calibration target now
- Intrinsic parameters can now use a flow style assignment of parameters
- Interpolation
- Can specify a border handling algorithm now
- PixelMath
- Added minus(image,scalar)
- Added minus(scalar,image)
- Distortion
- Scale once again goes from in.width/out.width instead of (in.width-1)/(out.width-1)
- The former is correct, but you have to deal with interpolating values like 9.5 when there are 10 pixels (9 is largest index)
- Added FDistort
- Much easier to use and more flexible than the procedural fuctions in DistortImageOps
- Scale once again goes from in.width/out.width instead of (in.width-1)/(out.width-1)
- FactoryDerivativeSparse
- Added sobel, prewitt, three, two0, two1
- Gradient Two0 and Two1
- There are two different ways to define the gradient from two samples, depending on the zero index.
- Two0 is [1] * [0] and Two1 is [0] * [-1].
- Before only one of these variants was available
- UtilImageIO
- Can save an image directly that is in BoofCV format
- Shape Features
- Corner fitting algorithm that uses the tangent of the gradient
- Black convex polygon detector
- Polygon fitting
- ShowImages
- Will now display any BoofCV image directly.
- Android
- Can convert from 8888 to 3 channel multi-spectral images
- Moved NV21 out of Android because it's also useful with Webcams
- Added support for YV12 image format
- BinaryImageOps
- BinaryImageOps.labelToBinary() now has an easier to use variant. No need to explicitly declare a boolean array
- Added thin() operator for thinning/skeletonization
- Template Matching
- Can provide a mask for a template and effectively make pixels transparent or translucent
- Requested by Rafael Maus and others
- ConvertBufferedImage
- Tweaked defaults for boof to BufferedImage. Single band images return single band images.
- Thanks thhart for pointing this out
- Added partial support for images encoded with SunWritableRaster
- Much improved support of BoofCV Interleaved images
- Tweaked defaults for boof to BufferedImage. Single band images return single band images.
- ThresholdImageOps
- Changed threshold up from >= to >.
- Turns out the original choice was bad. Images were not inverses of each other
- Was possible the threshold an image with two values up and end up with all 0.
- PyBoof has been added to integration
- Python wrapper for BoofCV
- Thanks Romotive allowing donating this code!
- GHistogramFeatureOps, Histogram_F64, HistogramFeatureOps
- Computes color histograms with the intent that they can be used as features
- Supports an arbitrary number of color bands
- Can also be computed from a list of pixel values
- arbitrary min/max values and number of bins also supported
- Example added demonstrating how to look up images with similar histograms
- GImageDerivativeOps
- General cleaning up the API
- Fewer functions, but uses enum for specific type
- Function for AnyImageDerivative is clearly named and more useful
- ImageMiscOps
- fill band and bands
- insert band
- Background Model / Motion Detection
- For stationary cameras and moving cameras
- Basic: pixels modeled with a fading average
- Gaussian: pixels modeled with a fading Normal distribution