Code Monkey home page Code Monkey logo

houghtransform's Introduction

Hough Transform

In artificial vision, the hough transform is a technique to discover borders by transforming border points into parametric space where they become lines. In the other hand, in this parametric space, border shapes (such as straight lines or curves) are represented by points. Those points where a lot of lines intersect are likely to be actual borders.

This implementation

This implementation shows the simplest variation of hough transform by looking for straight lines. The parametric space choosen represents lines in polar coordinates to avoid representation issues.

The code is the result of an academic project to look for cultive lines in high resolution images. To achieve this goal I used binaryzed images where white color indicate information. Some improvements this implementation includes are:

  • Light in memory by using down-scaled versions of the images. Despite black (non-relevant) points are skipped, in order to look for straight lines, not much points are required so the input image is down-scalled (manually) before processed.
  • Precached sin and cos values.
  • Integer arithmetic when possible.
  • O(n) complexity by joining tranformation into parametric space and clustering.

Possible improvements

  • Parametric adjustement is neccesary
  • Filtering can be added to transformation stage in order to discard impossible values earlier.
  • Other types of down-scaling can be tested to discard more non-relevant information.

Building Hough Transform

You can build the sources by importing the project from Eclipse or you can use make all from Release and Debug folders as well.

Hough Transform was created using Eclipse 3.7.1

Documentation

There is no documentation and it is not intended to be. The code is just an example of implementation and it is clear enougth to be self-explanatory.

You can find more info in my hough transformation space.

Version history

20120307 (1.0)

  • Initial public release

License

See LICENSE.txt to check license terms and conditions.

houghtransform's People

Contributors

delapuente avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.