Quad Trees - PowerPoint PPT Presentation

About This Presentation
Title:

Quad Trees

Description:

Image region is divided into cells called pixels. ... Each 2k x 2k window is replaced by a pixel whose intensity is some function of ... – PowerPoint PPT presentation

Number of Views:143
Avg rating:3.0/5.0
Slides: 34
Provided by: CISE9
Learn more at: https://www.cise.ufl.edu
Category:
Tags: awww | quad | trees

less

Transcript and Presenter's Notes

Title: Quad Trees


1
Quad Trees
  • Region data vs. point data.
  • Roads and rivers in a country/state.
  • Which rivers flow through Florida?
  • Which roads cross a river?
  • Network firewalls.
  • (source prefix, destination prefix, action)
  • (01, 110, drop packet)

2
Quad Trees
  • Binary images.
  • Image region is divided into cells called pixels.
  • Each pixel is either black (0, background) or
    white (1).

3
Example Binary Image
Remaining entries are 0.
4
Image Operations
  • Rotation.

Rotate 90 degrees clockwise.
5
Scaling
  • Expansion.
  • Each pixel is replaced by a 2k x 2k window of
    pixels of the same intensity.
  • Shrinking.
  • Each 2k x 2k window is replaced by a pixel whose
    intensity is some function of that of the window
    pixel intensities.

6
Shrinking Example
  • k 1.
  • gt 2 white pixels in 21 x 21 window gt white
    pixel.

7
Union Intersection
  • Image1 roads.
  • Image2 rivers.
  • Union(Image1, Image2) roads and rivers.
  • Intersection(Image1,Image2) places where a road
    crosses a river gt bridge or tunnel.

8
Image Representation
  • n x n matrix.
  • Theta(n2) space.
  • Theta(n2) time for rotation, scaling, union,
    intersection, and so on.
  • Quad tree.
  • O(n2) space.
  • O(n2) time for rotation, scaling, union,
    intersection, and so on.
  • For some images, the space and time could be as
    little as O(1) (e.g., all white or all black
    images).

9
Quad Tree
  • Degree 4 tree (each node has up to 4 children).
  • Each node represents a portion of the image.
  • Root node represents entire 2k x 2k image.
  • The children of a node that represents a 2q x 2q
    region represent its 4 2q-1 x 2q-1 subregions.

10
Quad Tree
  • Each node has one of the colors white, black,
    gray.
  • White (black) gt all pixels in nodes region are
    white (black).
  • Gray gt at least one black and at least one
    white.
  • White and black nodes have no children.
  • Gray nodes have 4 children each.

11
Quad Tree Example
NW
NE
SW
SE
12
Quad Tree Example
NW
NE
SW
SE
13
Quad Tree Example
NW
NE
SW
SE
14
Quad Tree Example
NW
NE
SW
SE
15
Oct Tree
  • Extension of quad tree to the representation of
    3-d images.
  • Degree 8 tree (each node has up to 8 children).
  • The children of a node that represents a 2q x 2q
    x 2q region represent its 8 2q-1 x 2q-1 x 2q-1
    subregions.

16
From Matrix To Quad Tree
Divide And Conquer
  • 2k x 2k binary matrix.
  • If k 0, return a single-node quad tree.
  • Root is white if pixel is 1.
  • Root is black if pixel is 0.

17
From Matrix To Quad Tree
NW
NE
SW
SE
  • If k gt 0, recursively construct quad trees for
    the four quadrants.

18
From Matrix To Quad Tree
NW
NE
SW
SE
  • If the 4 quad tree roots are all black (white),
    return a single node quad tree with a black
    (white) root.
  • Otherwise, return a quad tree with a gray root
    whose subtrees are the quadrant quad trees.

19
Complexity
  • Let t(k) be the time to construct the quad tree
    of a 2k x 2k binary image (matrix).
  • t(0) c, where c is some constant.
  • t(k) 4t(k1) d, where d is some constant and
    k gt 1.
  • t(k) O(4k) O(pixels in matrix).

20
From Quad Tree To Matrix
  • Run divide-and-conquer algorithm for matrix to
    quad tree transformation backwards.
  • t(k) O(4k) O(pixels in matrix).

21
Clockwise Rotation By 90 Degrees
22
Clockwise Rotation By 90 Degrees
23
Recursive Algorithm
  • If root is a leaf, return.
  • Rotate the children of the root.
  • (NW, NE, SE, SW) ? (SW, NW, NE, SE)
  • Recursively perform the rotation in the subtrees
    of the root.
  • Complexity is O(size of quad tree).
  • Quad tree size nodes.
  • Quad tree size is usually substantially less than
    matrix size.

24
Other Rotations
  • Clockwise rotations by 180 and 270 degrees are
    similar.
  • Counterclockwise rotations by 90, 180, and 270
    degrees are similar.
  • Rotation by 360 degrees is null.

25
Shrinking
  • k 1.
  • gt 2 white pixels in 21 x 21 window gt white
    pixel.

26
Shrinking
  • k 1.
  • gt 2 white pixels in 21 x 21 window gt white
    pixel.

27
Shrinking
  • k 1.
  • gt 2 white pixels in 21 x 21 window gt white
    pixel.

28
Shrinking
  • k 1.
  • gt 2 white pixels in 21 x 21 window gt white
    pixel.

29
Algorithm To Shrink (k 1)
  • Root represents a 1 x 1 region gt return.
  • Root represents a 2 x 2 region.
  • Color the root white if it has gt 2 white
    children.
  • Color the root black if it has lt 2 white
    children.
  • Otherwise, root is a leaf. Dont change its
    color.
  • Make root a leaf (may already be a leaf) and
    return.
  • Root represents a 2k x 2k, k gt 1, region.
  • Shrink subtrees (if any) of root.
  • Recolor root if all subtrees now have same color.
  • Complexity is O(size of quad tree).

30
Union

  • Rules.
  • Do a pairwise union of corresponding pixels in
    the two images.
  • Union is white iff at least one pixel of the pair
    is white.

31
Recursive Union(A,B)
  • root(A) (root(B)) is white gt return A (B).
  • root(A) (root(B)) is black gt return B (A).
  • Both have a gray root.
  • Pairwise union the subtrees of A and B.
  • If all four of the returned subtrees have a white
    root, return a single node tree with a white
    root.
  • Otherwise return a tree with a gray root and the
    four returned subtrees as its subtrees.
  • Complexity is O(A B).

32
Intersection

  • Rules.
  • Do a pairwise intersection of corresponding
    pixels in the two images.
  • Intersection is white iff both pixels of the pair
    are white.

33
Recursive Intersection(A,B)
  • root(A) (root(B)) is black gt return A (B).
  • root(A) (root(B)) is white gt return B (A).
  • Both have a gray root.
  • Pairwise intersect the subtrees of A and B.
  • If all four of the returned subtrees have a black
    root, return a single node tree with a black
    root.
  • Otherwise return a tree with a gray root and the
    four returned subtrees as its subtrees.
  • Complexity is O(A B).
Write a Comment
User Comments (0)
About PowerShow.com