Java 計算機視覺庫,BoofCV 0.19 發布
BoofCV 是一個 Java 的全新實時的計算機視覺庫,BoofCV 易于使用而且具有非常高的性能。它提供了一系列從低層次的圖像處理、小波去噪功能以及更高層次的三維幾何視野。使用 BSD 許可證可在商業應用中使用。
這里有篇英文文章用來介紹 BoofCV 的使用。
此版本改進內容如下:
- 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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!