|
|
(17 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| Change Log
| | Date : 2016/12/07 |
| | Version : 0.26 |
|
| |
|
| Date Format: year/month/day
| | * 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... |
| Date : 2012/7/22
| | * Renamed EquirectangularTo* to *ToEquirectangular |
| Version : Alpha 0.9
| | ** Those classes convert pixels in * coordinates into their location in the equirectangular image |
| | | ** They are used to generate a * image from equirectangular |
| * Renamed factories
| | * Float 32bit auto coding switched over to using auto64fto32f library |
| ** FactoryBlobDetector -> FactoryDetectPoint
| | * TypeInterpolate is now InterpolationType for consistency |
| ** FactoryCornerDetector -> FactoryDetectPoint
| | * Examples |
| * Renamed KLT corner to Shi Tomasi corner, which is more standard
| | ** InterpolatePixel added |
| * Fixed bug various point detectors where if the input image was resized the edge intensity might not be zero when it should be | | ** Image blur added |
| * Changed some corner detection algorithms to take the intensity image in as an input.
| | ** Non-Maximum Suppression added |
| * Added new Pixel to Normalized transform | | * Demonstrations |
| * Created interface for Stereo visual odometry | | ** Improved DemonstrationInterpolateScaleApp (renamed also) |
| * Fixed bug in unsafe_set inside of ImageInt8
| | ** Added DetectBlackEllipseApp |
| * Added unsafe_set() and unsafe_get() to ImageFloat32, ImageFloat64, ImageSInt64
| | * Gradle |
| * Fixed bug in ImageSInt64.set() where the value was cast into a short
| | ** Will fail on dependency version conflict now |
| * Changed transform* functions inside of DistortImageOps so that you can specify how outside image pixels are handled.
| | ** Will fail when building release with SNAPSHOT dependencies |
| * Fixed bug in ImageHistogramPanel - reported by Ray
| | ** Resolved xstream version conflict |
| ** Added support for integer images
| | * Updated DeepBoof |
| * Integration | | ** This is to get around an issue with a java wget library where it would hang instead of giving up |
| ** Created ant build scripts | | ** New code is also much more informative and prints out size info and download status\ |
| ** Updated Xuggler integration code
| | * Visualization |
| ** Added Android
| | ** Removed a bad +PI/2 from ellipse rendering. |
| * Generalized SimpleImageSequence so that it does not reference BufferedImage and will play nicer with Android
| | * SnapToEllipseEdge * Fixed bug where it was only performing one iteration no matter what |
| * Fixed bug in ImplImageDistort* where for 16bit and 32 bit images values were being type casted into bytes
| | * Circle Asymmetric Grid Target |
| * Changed UnconstrainedMinimization so that the minimum function value is specified in setFunction()
| | ** Fixed issue which was causing clusters not to form by not limiting number of neighbors within X distance |
| * Added ExampleContours
| | ** When clustering ellipses orientation and major/minor axis size is now taken in account. |
| ** Thanks cspnanda for pointing out the lack of documentation
| | ** Significant net improvement in regression tests, only drop in performance in blurred images |
| * New non-maximum suppression algorithm
| |
| ** About the same for 3x3 regions, much faster for larger regions
| |
| ** Tweaked related API and improved unit tests
| |
| * Fixed bug in WrapDescrivePixelRegion where the descriptor is not properly configured for integer images
| |
| | |
| ---------------------------------------------
| |
| Date : 2012/05/13
| |
| Version : Alpha 0.8
| |
| | |
| '''IMPORTANT''' Discard old calibration files and calibrate again with latest code! | |
| | |
| * Added processing monitor to CalibrateStereoPlanarGuiApp
| |
| * Fixed bug in Zhang99 calibration where Rodrigues coordinates were being parameterized incorrectly
| |
| ** Calibration results would be less accurate, but have a lower residual due to the increased degree of freedom
| |
| * Added analytic Jacobian to Zhang99
| |
| ** Decided not to use it since it produces same estimation parameters as numerical.
| |
| * Added functions for creating detectors in FactoryPlanarCalibrationTarget
| |
| ** changed code to reference those functions
| |
| * Stereo Disparity Image
| |
| ** Dense and Sparse algorithms
| |
| ** Rectangular region winner take all (WTA)
| |
| *** Validation: right to left, max error, texture
| |
| *** Precision: Pixel and Subpixel
| |
| ** Algorithms:
| |
| *** Basic rectangular region
| |
| *** Five region adaptive: Hirschmuller, et. al. "Real-Time Correlation-Based Stereo Vision with Reduced Border Errors," 2002
| |
| * IntrinsicParameters | |
| ** Added flipY to parameter list since it is vital information for many calculations. | |
| * RectifyImageOps | |
| ** Fixed bug in functions that adjusted the rectification for viewing. If left handed the coordinate systems got messed up | |
| * Changed allInside() so that the annoying single pixel black region is gone | |
| ** RectifyImageOps and LensDistortOps | |
| * FactoryCornerDetector
| |
| ** Added flag for weighted KLT and Harris
| |
| * Added weighted corners to list of features in some evaluation apps
| |
| * Examples: | |
| ** ExampleCalibrateMonocularPoints
| |
| ** ExampleDetectCalibrationPoints
| |
| ** ExampleStereoDisparity
| |
| * ImageTestingOps
| |
| ** Flip image vertical
| |
| * Fast point cloud viewer | |
| | |
| ---------------------------------------------
| |
| Date : 2012/04/22
| |
| | |
| Version : Alpha 0.7
| |
| | |
| * Redesigned how evaluation apps/applets handle data input and configuration | |
| * Removed the epipolar directory | |
| ** More than just stereo algorithms in there | |
| * Camera calibration outputs XML file containing intrinsic parameters | |
| ** Java XML serialization | |
| * For square calibration grids, added sub-pixel refinement using canny edge
| |
| * Fixed a bug in camera calibration where it transposed the grid instead of rotating it if the number of rows/columns needed to be swapped.
| |
| * 3D Vision Algorithms
| |
| ** Estimate translation given rotation and two observations
| |
| ** Refine pose estimate given set of 3D points and observations
| |
| ** Interface for n-view triangulation | |
| ** Bundle adjustment for calibrated cameras | |
| *** Analytic Jacobian | |
| *** A bit slow right now
| |
| * Changed behavior of GeneralFeatureDetector
| |
| ** Supports sub-region extraction. Forces features to be more spread out
| |
| ** Max N now is the total number of features, including excludes
| |
| * Improved speed of Levenberg algorithm by taking advantage of symmetry | |
| * UtilEpipolar
| |
| ** Added canonicalCamera() and decomposeCameraMatrix()
| |
| * Created the following Util and Ops classes | |
| ** UtilIntrinsic | |
| ** LensDistortionOps | |
| ** RectifyImageOps | |
| * Stereo Rectification | |
| ** Calibrated with known baseline | |
| ** Uncalibrated, from using a fundamental matrix. | |
| ** Adjust rectification to maximize usefull viewing area | |
| * New Examples | |
| ** Estimate fundamental matrix | |
| ** Rectify calibrated
| |
| ** Rectify fundamental matrix
| |
| ** Remove lens distortion
| |
| * The feature score was not being set in WrapAssociateGreedy
| |
| ** Thanks Nir Amar
| |
| ** Also changed AssociateSurfBasic for a similar reason
| |
| * Fixed problem in FundamentalResidualSampson where the denominator was being squared
| |
| * Fixed problem in Se3 Essential generator | |
| * Changed positive depth constraint class | |
| | |
| ---------------------------------------------
| |
| Date : 2012/03/01
| |
| | |
| Version : Alpha 0.6
| |
| | |
| * Added convolution related code for ImageSInt32
| |
| * Added weighted KLT and Harris corner detectors
| |
| * Refactored factory names and other classes to make them easier to find and more consistent
| |
| * Planar calibration grid detectors | |
| ** Chess board pattern | |
| ** Square grid pattern
| |
| * Generic code for detecting squares in binary images
| |
| ** Inside of calibration module
| |
| * Application for calibration from planar calibration targets
| |
| ** GUI and commandline
| |
| * ImageDistort
| |
| ** Fixed bug where border.setImage() was not being called | |
| * ImageBorder | |
| ** Added generalized get(x,y)
| |
| * Refactored FactoryImageBorder into two factories | |
| * Fixed bug in several derivative operators where the passed in border was being ignored and an extended border being used instead | |
| * Change ImplImageDistort* to use interpolate.get_unsafe() to speed it up by a large margin
| |
| * Moved ImageDistort from boofcv.alg.distort to boofcv.struct.distort
| |
| * Added PointTransform_F32
| |
| * Added both forward and reverse radial distortion PixelTransform_F32 implementations
| |
| * ModelMatcher classes can now create multiple model hypotheses from a single set of points.
| |
| * Changed ImagePointTracker to use PointTrack instead of AssociatedPair | |
| ** Created KeyFramePointTracker to track features and create AssociatedPairs | |
| * Added FactoryEpipolar
| |
| * Added FactoryTriangulate
| |
| * Added non-linear refinement for:
| |
| ** Fundamental/Essential matrix
| |
| ** Homography matrix
| |
| ** Triangulation
| |
| * Added 2-view and N-View triangulation algorithms
| |
| ** DLT
| |
| ** Closest point from two lines
| |
| * Added EPnP from Lepetit 2009 paper
| |
| ** Validation against author's code is pending
| |
| * Added color processing to several Apps
| |
| ** EvaluateInterpolateEnlargeApp
| |
| ** ShowImageBlurApp
| |
| * Added SimpleNumberSequenceReader for reading small sequences of numbers
| |
| * Added lens distortion app
| |
| * Found sudbtle bug in Harris corner detector.
| |
| ** Surprisingly doesn't seem to change output.
| |
| | |
| ---------------------------------------------
| |
| Date : 2012/02/01
| |
| | |
| Version : Alpha 0.5
| |
| | |
| * Improved SURF performance
| |
| ** Fixed various bugs and changed algorithm to improve performance
| |
| *** Both speed and stibility have been improved
| |
| ** Now is the best performing SURF implementation in the benchmark | |
| * ImplOrientationSlidingWindowIntegral has been replaced with a faster and more accurate algorithm
| |
| * Improved integral image support
| |
| * Improved sparse gradient support
| |
| * Refactored sparse image operator code
| |
| ** Added SparseImageSample interface
| |
| * Added/Improved unconstrained non-linear optimization code
| |
| ** Quasi-Newton line search
| |
| ** Levenberg-Marquardt
| |
| * Geometric vision and calibration code which uses non-linear optimization now works correectly
| |
| * Started converting internal micro benchmarks to use Caliper
| |
| | |
| ---------------------------------------------
| |
| Date : 2012/01/06
| |
| | |
| Version : Alpha 0.4
| |
| | |
| * Changed behavior of ConvertBufferedImage so that it won't automatically swap bands in MultiSpecitral image
| |
| ** orderBandsIntoRGB() has been provided to do that manually if needed
| |
| * All automatic convert to/from BGR and been removed from ConvertRaster
| |
| * Fixed SURF related issue
| |
| ** Image bounds check was being incorrectly performed for integral image orientation estimation algorithms (Thanks Oleg Chernoguz for pointing this out)
| |
| ** FactoryOrientationAlgs.sliding_ii() was creating an average orienation alg for I32 images
| |
| ** Some coordinates were integer instead of double
| |
| * Added comments to several factories and other classes
| |
| * Added ant script for examples and readme.txt explaining how to use it
| |
| | |
| ---------------------------------------------
| |
| Date : 2012/01/02
| |
| | |
| Version : Alpha 0.3
| |
| | |
| * Camera Calibration
| |
| ** Planar grid (Zhang 98)
| |
| ** Camera calibration matrix from homographies
| |
| ** Linear radial distortion
| |
| ** Decomposition of homography for calibration
| |
| ** Nonlinear optimization of all parameters
| |
| * Calibration Grid Detection
| |
| ** Detects corners up to "pixel accuracy", in reality its probably worse than that
| |
| ** Sub-pixel accuracy code exists but needs more work
| |
| * Added min and max values to ImageTestingOps.addGaussian()
| |
| * Tweaked factories related to wavelet denoising so that they take in an image type.
| |
| * Removed cyclical dependency between modules by creating a visualize modules
| |
| * Added to BinaryImageOps
| |
| ** label to clusters
| |
| ** clusters to binary
| |
| * Renamed ImageBase to ImageSingleBand
| |
| * Created a new ImageBase
| |
| * Flushed out MultSpectral image type more and extended ImageBase
| |
| ** Created functions to convert to and from BufferedImage
| |
| * Changed behavior of several functions in GeneralizedImageOps to include MultiSpectral images
| |
| ** refactor createImage -> createSingleBand
| |
| * Updated ant scripts
| |
| ** Common template is now used for the different modules
| |
| ** Fixed unit test and make it work across the whole project
| |
| * Added crop to ImageDistort
| |
| ** If cropping is used the only part of the destimation image is processed
| |
| * Created calibration package to hold calibration related code
| |
| * Moved jars not part of the primary build into boofcv/lib/testing
| |
| * Started converting runtime benchmark code over to Caliper
| |
| ** http://code.google.com/p/caliper/
| |
| | |
| ---------------------------------------------
| |
| Date : 2011/12/01
| |
| | |
| Version : Alpha 0.2
| |
| | |
| * Added integer polynomial interpolation
| |
| ** Cleaned up polynomial interpolation code
| |
| * Fixed bug in PixelMath.bound() dealing with unsigned images
| |
| * Converting to a BufferedImage now marks it as modified
| |
| * Added min and max pixel values to ImageTypeInfo
| |
| * Added ComplexMath
| |
| * Added PolynomialSolver
| |
| * Added process(image) to PointSequentialTracker and renamed it to ImagePointTracker
| |
| * Added the following 3D vision code:
| |
| ** Linear 8-point essential/fundamental matrix
| |
| ** Linear 7-point essential/fundamental matrix
| |
| ** Linear 4-point homography
| |
| ** Extract camera motion from essential
| |
| ** Extract camera and plane normal from homography
| |
| ** Triangulate: Linear pixel depth
| |
| ** Projective N Point (PNP): Linear N >= 6
| |
| * Added non-linear optimizer based upon Levenberg-Marquardt
| |
| * Added pixel region based descriptors
| |
| ** Raw pixel values
| |
| ** Normalized Cross Correlation (NCC)
| |
| * Added pixel region based trackers
| |
| * Added Sum of Absolute Difference (SAD) score for feature association with a few different descriptor types.
| |
| | |
| ---------------------------------------------
| |
| Date : 2011/11/01
| |
| | |
| Version : Alpha 0.1
| |
| | |
| * Initial public release
| |