BoofCV Change Log

From BoofCV
Revision as of 19:27, 1 December 2016 by Peter (talk | contribs)
Jump to navigationJump to search

Date  : 2016/12/01 Version : 0.25

  • Black Circle Detector
    • Binary image
    • Subpixel edge for gray scale images
  • Circular Asymmetric Grid Pattern
    • For calibration
    • As a general fiducial
  • Histogram of Oriented Gradient
    • Provided another implementation which is more faithful to original paper, but much slower
    • Can now independently configure block size along each axis
  • VideoTrackerObjectQuadApp
    • Can now open webcams and videos
    • Improved UI
  • Association
    • Added helpful error messages when src and dst are not set
  • Added support for F64 to F32 autocoding from regular F64 classes
  • 360 / Spherical camera support
    • Equirectangular image support
    • Equirectangular to pinhole
    • Equirectangular to cylinder
    • Equirectangular rotate
  • Dirty flag was not being set to false for cached image distort single band
  • Changed minimum Java language level from 6 to 7
  • Camera Model
    • Renamed IntrinsicParameters to CameraPinhole
    • Broke distortion off into a separate class which extends CameraPinhole
      • CameraPinholeRadial
    • Added a new camera for wide FOV cameras: Universal Omnidirectional
    • Created new transforms to handle non-pinhole cameras
  • YAML
    • Changed save format to YAML for camera model parameters.
    • This should allow saved files to be independent of internal refactoring in BoofCV and cross platform, I hope.
  • Deleted BoofAndroidFiles because you can now simply use yaml format
  • Deep Learning
    • Integrated in DeepBoof to provide support for deep artificial neural networks (ANN)
  • Image Classification
    • VGG trained on CIFAR10 (10 categories at 89.9%)
    • Network-in-Network trained on ImageNet (1000 categories at 62.6%)
  • FiducialDetector
    • Takes in a distortion factory instead of camera parameters
    • Added getIntrinsics()
    • Added getImageLocation()
    • Fixed bug where if a lens model with distortion was used then exchanged for one without the old distortion was not fully removed.
    • Fixed bug where if intrinsic was not set it would still claim it could estimate the target's pose
  • Binary Fiducial
    • When decoding the image it now ignores border pixels of inner squares. These tend to be very noisy.
    • 7% improvement in regression test. Idea taken from ArUco
  • Commandline Fiducial Generator
    • Can specify custom document size
  • Added command line application for calibration fiducials
    • Supports chessboard, square grid, square binary grid, circle asymmetric grid
  • OpenCV Integration
    • can read and write camera calibration for pinhole cameras with radial + tangential distortion
  • FancyInterestPointRender
    • Fixed addString() being a no-op. Thanks R-Gerard for the bug report!
  • Generate Square Fiducial Applications
    • The post script format has been tweaked so that the page size is specified with the /PageSize command also
    • A printing company was having issues correcting sizing the document until this change was made.
  • Refactored FactoryCalibrationTarget -> FactoryFiducialCalibration
  • FactoryMotion2D
    • Removed image type specific functions and updated code for more recent API
  • Fixed bug in StitchingFromMotion2D where reset() could cause a null pointer exception
  • Android
    • work around for a crash bug in Marshmallow
  • Removed applet module in integration
  • Template Matching
    • Added correlation using FFT
    • Tweaked API so that preprocessing of image can be performed
  • TypeInterpolation renamed to InterpolationType for consistency
  • Changed behavior of AssociateSurfBasic
    • no longer throws an exception if src or dst features are empty