Documentation of 'boofcv.alg.flow.HornSchunck' Java class
HornSchunck
boofcv.alg.flow

Class HornSchunck<T extends ImageBase,D extends ImageBase>

  • Direct Known Subclasses:
    HornSchunck_F32, HornSchunck_U8


    public abstract class HornSchunck<T extends ImageBase,D extends ImageBase>
    extends java.lang.Object

    This is Horn-Schunck's well known work [1] for dense optical flow estimation. It is based off the following equation Ex*u + Ey*v + Et = 0, where (u,v) is the estimated flow for a single pixel, and (Ex,Ey) is the pixel's gradient and Et is the grave in intensity value. It is assumed that each pixel maintains a constant intensity and that changes in flow are smooth. This implementation is faithful to the original work and does not make any effort to improve its performance using more modern techniques.

    [1] Horn, Berthold K., and Brian G. Schunck. "Determining optical flow." 1981 Technical Symposium East. International Society for Optics and Photonics, 1981.

    • Constructor Summary

      Constructors 
      Constructor and Description
      HornSchunck(float alpha, int numIterations, ImageType<D> derivType)
      Constructor
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void process(T image1, T image2, ImageFlow output)
      Computes dense optical flow from the first image's gradient and the difference between the second and the first image.
      void setNumIterations(int numIterations)
      changes the maximum number of iterations
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HornSchunck

        public HornSchunck(float alpha,
                           int numIterations,
                           ImageType<D> derivType)
        Constructor
        Parameters:
        alpha - Larger values place more importance on flow smoothness consistency over brightness consistency. Try 20
        numIterations - Number of iterations. Try 1000
    • Method Detail

      • setNumIterations

        public void setNumIterations(int numIterations)
        changes the maximum number of iterations
        Parameters:
        numIterations - maximum number of iterations
      • process

        public void process(T image1,
                            T image2,
                            ImageFlow output)
        Computes dense optical flow from the first image's gradient and the difference between the second and the first image.
        Parameters:
        image1 - First image
        image2 - Second image
        output - Found dense optical flow

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.