BoofCV 0.19 发布,Java 计算机视觉库

发布于 2015年09月24日
收藏 43

BoofCV 0.19 发布,时隔一年,BoofCV 又发布了新版本,添加了一些新特性和 bug 修复。



- 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
- 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
- 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

BoofCV 是一个 Java 的全新实时的计算机视觉库,BoofCV 易于使用而且具有非常高的性能。它提供了一系列从低层次的图像处理、小波去噪功能以及更高层次的三维几何视野。使用 BSD 许可证可在商业应用中使用。

这里有篇英文文章用来介绍 BoofCV 的使用。


转载请注明:文章转载自 OSCHINA 社区 []
本文标题:BoofCV 0.19 发布,Java 计算机视觉库


是否意味着 ,首先是 java GUI ?