Difference between revisions of "BoofCV Change Log"
From BoofCV
Jump to navigationJump to searchm |
m |
||
Line 4: | Line 4: | ||
--------------------------------------------- | --------------------------------------------- | ||
Date : | Date : 2015/09/20 | ||
Version : Alpha 0. | 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 | ||
* Added | ** 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 | |||
* 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 | * 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 | |||
* Added | |||
* BinaryImageOps | * BinaryImageOps | ||
** | ** BinaryImageOps.labelToBinary() now has an easier to use variant. No need to explicitly declare a boolean array | ||
* | ** Added thin() operator for thinning/skeletonization | ||
** Thanks | * 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 | ||
** | * 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 |
Revision as of 21:38, 20 September 2015
Change 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