top of page

Feature detection and Texture2D processing

A Unity cross-platform library for image recognition and Texture2D processing.

The library enables blob and edge detection/extraction and simple geometric shape recognition with capabilities for custom build descriptors, and additionally a multitude of Texture2D processing tools.

The library contains the following features:

  • Blob detection/extraction

  • Stream analysis

  • Vector2 extensions methods (includes Ramer–Douglas–Peucker algorithm) 

  • Circle Hough Transform 

  • Vasvalingam's Line Simplification 

  • Color comparison: Euclidean, CIE76, Low-Cost Approximation 

  • Simple shape recognition (can be further expanded)

  • Edge detection (Canny, Kirsch, Sobel, Prewitt)

  • Binarization (simple cut-off, Bradley local thresholding, Otsu's methods) 

  • Convolution filters (with ability to easily introduce self-made kernels)

  • Fast Gaussian filters  (advanced Gaussian filters utilizing threading or recursive algorithm)

  • Point filters e.g. grayscale conversion, negative and sepia filters, contrast correction, color[s] swapping, alpha updating, manual color channels modifiers

Notes on the project:

  • Many times I have been asked about the usage of this asset in AR projects. For the initial release, it was not feasible due to speed limitation.

  • Initial stream analysis release (v. 1.2) provided background and knowledge on how to operate in a stream environment but was too slow for practical purposes.

  • Since, I have introduced a new, vastly simplified blob detection algorithm (v. 1.3). It is simpler and less flexible but introduces a significant speed boost.

  • The speed was further increased in ver. 1.5  via Color32[] input manipulation (see this YouTube video).

  • Sadly, using C++ failed to provide improved speed, but other tests are necessary to fully abandon this route.

  • Version 1.6 is live, it contains color comparison, Circle Hough Transform, and Vasvalingam's Line Simplification algorithms.

  • The code was cleaned in Version 1.8, old and obsolete methods were removed and the code was ported to Unity 2018.3 version.

For more information about feature detection topic go here
bottom of page