Difference between revisions of "BoofCV Change Log"

From BoofCV
Jump to navigationJump to search
m
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Change Log =
Date    : 2016/12/07
Version : 0.26


Date    : 2016/01/24
* Fixed a long standing unit test issue where convolve unit test would some times on some systems erratically fail
 
** Appears that sometimes the random numbers caused a buffer overflow for U8 images
Version : Alpha 0.21
** Now why it didn't have the exact same numbers every time when it has a fixed seed is disturbing...
 
* Renamed EquirectangularTo* to *ToEquirectangular
* Scale-Space Features
** Those classes convert pixels in * coordinates into their location in the equirectangular image
** getScale() has been replaced with getRadius(), which refers to the radius of the detected object
** They are used to generate a * image from equirectangular
* SURF
* Float 32bit auto coding switched over to using auto64fto32f library
** Fixed a bug dealing with gradient calculation and improved stability for very small objects
* TypeInterpolate is now InterpolationType for consistency
** Exposed an inner parameter.  You can now change the kernel size increment between scales
* Examples
* WebcamTrackFiducial renamed to FiducialDetection
** InterpolatePixel added
** Can now process more inputs sources;  still images, videos, and webcams.
** Image blur added
** Output to a file is a possibility
** Non-Maximum Suppression added
* Renamed SurfFeature to BrightFeature
* Demonstrations
** Used by SURF and SIFT, so the name was made more generic
** Improved DemonstrationInterpolateScaleApp (renamed also)
* SIFT
** Added DetectBlackEllipseApp
** Complete rewrite of detector and descriptor
* Gradle
** Very similar to original paper by Lowe
** Will fail on dependency version conflict now
** One difference is the use of quadratic interpolation instead of the overly complex thing that Lowe proposed
** Will fail when building release with SNAPSHOT dependencies
* Dense SIFT
** Resolved xstream version conflict
** Optimized code for computing dense descriptors at a fixed scale in a grid across the entire image
* Updated DeepBoof
* Black polygon detector
** This is to get around an issue with a java wget library where it would hang instead of giving up
** can now handle features along image border
** New code is also much more informative and prints out size info and download status\
** fixed a couple of bugs inside refine function too
* Visualization
** improved false positive rejection (e.g. squarish bright lights)
** Removed a bad +PI/2 from ellipse rendering.
* Square Fiducials
* SnapToEllipseEdge * Fixed bug where it was only performing one iteration no matter what
** Threshold is now done using the average of pixel intensity along the fiducial border
* Circle Asymmetric Grid Target
** Image border is used to remove false positives
** Fixed issue which was causing clusters not to form by not limiting number of neighbors within X distance
* Change / Clarified behavior of non-maximum suppression classes
** When clustering ellipses orientation and major/minor axis size is now taken in account.
** Border refers to the border around the image in which extremes cannot be found
** Significant net improvement in regression tests, only drop in performance in blurred images
** A pixel inside the border can have a value larger than one inside the image and prevent it from being considered an extreme
* FactoryPlanarCalibrationTarget renamed to FactoryCalibrationTarget
* Improved visualization in ShapeFitContourApp
* ConvertImage
** Interleaved to MultiSpectral
** MultiSpectral to Interleaved
** Any single band into into ImageUInt8 with the specified pixel value range
* Chessboard detector
** Links squares together using corners instead of two independently detected grids
** Can now detect targets in which the outer squares have been clipped by the image's border
* Square Grid Detector
** Changed how the pattern is specified. Based on black squares now
* DetectLineHoughPolar
** Fixed issue were a strict non-maximum was used when a non-strict was needed, causing valid lines to be discarded
* WebcamCapture
** Provided an easy to use function that allows you to open devices by their /dev name
* Image Thresholding: LocalSquareBlockMinMax Added
** Breaks the image up into a grid and computes the min and max pixel value, which is used to compute a threshold
** Enabled the detection of black objects partially outside the view
** Is very fast
* Android
** Will automatically detect if image needs to be rotated 180 degrees and then does it.  Needed for the Nexus 5x

Latest revision as of 21:16, 7 December 2016

Date  : 2016/12/07 Version : 0.26

  • Fixed a long standing unit test issue where convolve unit test would some times on some systems erratically fail
    • Appears that sometimes the random numbers caused a buffer overflow for U8 images
    • Now why it didn't have the exact same numbers every time when it has a fixed seed is disturbing...
  • Renamed EquirectangularTo* to *ToEquirectangular
    • Those classes convert pixels in * coordinates into their location in the equirectangular image
    • They are used to generate a * image from equirectangular
  • Float 32bit auto coding switched over to using auto64fto32f library
  • TypeInterpolate is now InterpolationType for consistency
  • Examples
    • InterpolatePixel added
    • Image blur added
    • Non-Maximum Suppression added
  • Demonstrations
    • Improved DemonstrationInterpolateScaleApp (renamed also)
    • Added DetectBlackEllipseApp
  • Gradle
    • Will fail on dependency version conflict now
    • Will fail when building release with SNAPSHOT dependencies
    • Resolved xstream version conflict
  • Updated DeepBoof
    • This is to get around an issue with a java wget library where it would hang instead of giving up
    • New code is also much more informative and prints out size info and download status\
  • Visualization
    • Removed a bad +PI/2 from ellipse rendering.
  • SnapToEllipseEdge * Fixed bug where it was only performing one iteration no matter what
  • Circle Asymmetric Grid Target
    • Fixed issue which was causing clusters not to form by not limiting number of neighbors within X distance
    • When clustering ellipses orientation and major/minor axis size is now taken in account.
    • Significant net improvement in regression tests, only drop in performance in blurred images