Individual Assignment
11. Line Detection of an Image
MCS3108 – IMAGE
PROCESSING AND VISION
U. V Vandebona
13440722
Tools and Techniques Used
 Java
 OpenCV
 HoughLinesP Function
 Canny Operation
 Gaussian Smoothing
Hough Line Transform
 It is a transformation technique used to detect
straight lines.
 To apply the Transform, first an edge detection pre-
processing is desirable.
Line in an Image expressed as…
 Cartesian coordinate system
 Polar coordinate system
For Hough Transforms, we will express lines in
the Polar system
How it Works
θ
r
x
y
Arranging the terms:
How it Works…
 In general, for each point (x0, y0) , we can define the family
of lines that goes through that point as:
 Meaning that each pair (rθ,θ ) represents each line that
passes by (x0, y0)
How it Works…
 If for a given (x0, y0) we plot the family of lines that
goes through it, we get a sine wave.
 For instance, for x0 = 8 and y0 = 6 and we get the
following plot (in a plane coordinates with θ and r)
We consider only points
such that
r > 0 and 0 < θ < 2π
How it Works…
 We can do the same operation above for all the points in
an image.
 If the curves of two different points intersect in the
plane coordinates with θ and r, that means that both
points belong to a same line.
 For instance, following with the example above and
drawing the plot for two more points: x1 = 9, y1 =
4 and x2 = 12, y2 = 3, we get:
The three plots intersect in one single point (0.925, 9.6),
these coordinates are the parameters ( θ, r) or the line in
which (x0, y0) , (x1, y1) and (x2, y2) lay.
So it means…
 A line can be detected by finding the number of
intersections between curves.
 The more curves intersecting means that the line
represented by that intersection have more points.
 In general, we can define a threshold of the
minimum number of intersections needed to detect a
line.
Hough Line Transform
 It keeps track of the intersection between curves of
every point in the image.
 If the number of intersections is above
some threshold, then it declares it as a line with the
parameters ( θ, rθ) of the intersection point.
Application
1. Loads an image
2. (Optional) Convert to grayscale
3. (Optional) Blur Image
 Gaussian Smoothening
4. Edge Detection
 Canny Operation
5. Line Detection
 Hough Line Transformation
Application

Line Detection

  • 1.
    Individual Assignment 11. LineDetection of an Image MCS3108 – IMAGE PROCESSING AND VISION U. V Vandebona 13440722
  • 2.
    Tools and TechniquesUsed  Java  OpenCV  HoughLinesP Function  Canny Operation  Gaussian Smoothing
  • 3.
    Hough Line Transform It is a transformation technique used to detect straight lines.  To apply the Transform, first an edge detection pre- processing is desirable.
  • 4.
    Line in anImage expressed as…  Cartesian coordinate system  Polar coordinate system For Hough Transforms, we will express lines in the Polar system
  • 5.
  • 6.
    How it Works… In general, for each point (x0, y0) , we can define the family of lines that goes through that point as:  Meaning that each pair (rθ,θ ) represents each line that passes by (x0, y0)
  • 7.
    How it Works… If for a given (x0, y0) we plot the family of lines that goes through it, we get a sine wave.  For instance, for x0 = 8 and y0 = 6 and we get the following plot (in a plane coordinates with θ and r) We consider only points such that r > 0 and 0 < θ < 2π
  • 8.
    How it Works… We can do the same operation above for all the points in an image.  If the curves of two different points intersect in the plane coordinates with θ and r, that means that both points belong to a same line.  For instance, following with the example above and drawing the plot for two more points: x1 = 9, y1 = 4 and x2 = 12, y2 = 3, we get:
  • 9.
    The three plotsintersect in one single point (0.925, 9.6), these coordinates are the parameters ( θ, r) or the line in which (x0, y0) , (x1, y1) and (x2, y2) lay.
  • 10.
    So it means… A line can be detected by finding the number of intersections between curves.  The more curves intersecting means that the line represented by that intersection have more points.  In general, we can define a threshold of the minimum number of intersections needed to detect a line.
  • 11.
    Hough Line Transform It keeps track of the intersection between curves of every point in the image.  If the number of intersections is above some threshold, then it declares it as a line with the parameters ( θ, rθ) of the intersection point.
  • 12.
    Application 1. Loads animage 2. (Optional) Convert to grayscale 3. (Optional) Blur Image  Gaussian Smoothening 4. Edge Detection  Canny Operation 5. Line Detection  Hough Line Transformation
  • 13.