<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="id9278531">
  <name>Hough Transform</name>
  <metadata>
  <md:version>1.1</md:version>
  <md:created>2007/12/19 18:41:49.613 US/Central</md:created>
  <md:revised>2007/12/19 18:43:21.876 US/Central</md:revised>
  <md:authorlist>
      <md:author id="tyeh">
      <md:firstname>Thomas</md:firstname>
      
      <md:surname>Yeh</md:surname>
      <md:email>tyeh@rice.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="tyeh">
      <md:firstname>Thomas</md:firstname>
      
      <md:surname>Yeh</md:surname>
      <md:email>tyeh@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  

  <md:abstract/>
</metadata>
  <content>
    <section id="id-103439530211">
      <name>And now, Introducing the Hough Transform…</name>
      <para id="id7722132">We are finally about to get to the fun part: circle detection…</para>
      <section id="id-388993624502">
        <name>The Hough Transform</name>
        <para id="id11647432">The Hough Transform is performed to recognize circular patterns based on parameters such as circle radius range, gradient threshold and presence of concentric circles. The Hough Transform will in as an input a range of radii. It will then generate circles of varying radii which cover the entire range. These circles are convolved with the image and the goodness of match is recorded in an accumulation array. </para>
        <para id="id8810377">Note: Generally, convolution is not performed, but rather, the FFTs are taken and multiplied together. This is not only more efficient, but more easily implemented as well!</para>
        <para id="id12092731">We found a nifty Matlab function which implements the transform and ran it on our image. The accumulation graph can be seen below, with the peaks corresponding to the best circle matches.</para>
        <figure id="id9333097">
          <media type="image/jpg" src="3-D_Array.jpg">
            <param name="height" value="290"/>
            <param name="width" value="387"/>
          </media>
        </figure>
      </section>
      <section id="id-679643308501">
        <name>Circles, Circles, Circles!</name>
        <para id="id8662984">With the circles detected, the areas where the best circular matches were can be drawn out in our original image. The result is quite striking: of the twelve or so cells which could be picked out by the human eye, the Hough Transform was able to detect roughly eight cells. </para>
        <figure id="id11748417">
          <media type="image/jpg" src="Hough_Transform.jpg">
            <param name="height" value="284"/>
            <param name="width" value="378"/>
          </media>
        </figure>
      </section>
    </section>
  </content>
</document>
