Image Processing Reference

In-Depth Information

We will use the second formula to calculate the dot product. To determine if a pixel
C
with

coordinates (
Cx
,
Cy
) is above the user-specified line, which is defined by points
A
and
B
with

coordinates (
Ax
,
Ay
) and (
Bx
,
By
) respectively, we need to do the following, as illustrated in
Fig-

ure 2
.

FIGURE 2
Using dot product to determining if a point is over or below a user-specified line.

First we need to find the vector that is perpendicular to the line that is defined by points
A

and
B
; we will call it vector
D
. We then need to find the vector
E
that is equal to the diference

of vectors
C
and
A
. If the dot product of
D
and
E
is greater than 0, point
C
is above the line

defined by points
A
and
B
. If it is equal to 0, point
C
is right on the line, otherwise point
C
is

below the line. The parallel algorithm in pseudo-code is shown in Pseudo-code 5.

4.3 Line Crossing Detector

Line Crossing Detector is a similar algorithm to Over a Line Detector.

Pseudo-code 5

//one thread for each pixel

foreach
pixel p
do

color_diff = prev_color(p) - curr_color(p)

// square of different

color_diff *= color_diff

// update previous color

prev_color(p) = curr_color(p)

// empirically chosen value.

// can be adjusted to make detector more

// or less sensitive to changes.

threshold = 5000

Cx = p.getXcoordinates()

Search WWH ::

Custom Search