Java 計算機視覺庫,BoofCV 0.19 發布

jopen 9年前發布 | 10K 次閱讀 BoofCV

BoofCV 是一個 Java 的全新實時的計算機視覺庫,BoofCV 易于使用而且具有非常高的性能。它提供了一系列從低層次的圖像處理、小波去噪功能以及更高層次的三維幾何視野。使用 BSD 許可證可在商業應用中使用。

這里有篇英文文章用來介紹 BoofCV 的使用。

Java 計算機視覺庫,BoofCV 0.19 發布

BoofCV 0.19 發布,時隔一年,BoofCV 又發布了新版本,添加了一些新特性和 bug 修復。

下載:boofcv-v0.19-libs.zip 

此版本改進內容如下:

- 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 </p>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!