DOC PREVIEW
UF COP 5536 - Quad Trees

This preview shows page 1-2-15-16-17-32-33 out of 33 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 33 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Quad TreesSlide 2Example Binary ImageImage OperationsScalingShrinking ExampleUnion & IntersectionImage RepresentationQuad TreeSlide 10Quad Tree ExampleSlide 12Slide 13Slide 14Oct TreeFrom Matrix To Quad TreeSlide 17Slide 18ComplexityFrom Quad Tree To MatrixClockwise Rotation By 90 DegreesSlide 22Recursive AlgorithmOther RotationsShrinkingSlide 26Slide 27Slide 28Algorithm To Shrink (k = 1)UnionRecursive Union(A,B)IntersectionRecursive Intersection(A,B)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)sourcedest8152427Quad Trees•Binary images.Image region is divided into cells called pixels.Each pixel is either black (0, background) or white (1).Example Binary Image1111 1 1 1111111Remaining entries are 0.Image Operations•Rotation.Rotate 90 degrees clockwise.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.Shrinking Example•k = 1.•>= 2 white pixels in 21 x 21 window => white pixel.Union & Intersection•Image1 = roads.•Image2 = rivers.•Union(Image1, Image2) = roads and rivers.•Intersection(Image1,Image2) = places where a road crosses a river => bridge or tunnel.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).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.Quad Tree•Each node has one of the colors white, black, gray.White (black) => all pixels in node’s region are white (black).Gray => at least one black and at least one white.•White and black nodes have no children.•Gray nodes have 4 children each.Quad Tree ExampleNW SWNWSW SENENE SEQuad Tree ExampleNWSW SENEQuad Tree ExampleNWSW SENEQuad Tree ExampleNWSW SENEOct 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.From Matrix To Quad Tree•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.From Matrix To Quad Tree•If k > 0, recursively construct quad trees for the four quadrants. NWSW SENEFrom Matrix To Quad Tree•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.NWSW SENEComplexity•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(k–1) + d, where d is some constant and k > 1.•t(k) = O(4k) = O(#pixels in matrix).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).Clockwise Rotation By 90 DegreesNENWNWSWClockwise Rotation By 90 DegreesNENWNWSWRecursive 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.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.Shrinking•k = 1.•>= 2 white pixels in 21 x 21 window => white pixel.NWSW SENEShrinking•k = 1.•>= 2 white pixels in 21 x 21 window => white pixel.NWSW SENEShrinking•k = 1.•>= 2 white pixels in 21 x 21 window => white pixel.NWSW SENEShrinking•k = 1.•>= 2 white pixels in 21 x 21 window => white pixel.NWSW SENEAlgorithm To Shrink (k = 1)•Root represents a 1 x 1 region => return.•Root represents a 2 x 2 region.Color the root white if it has >= 2 white children.Color the root black if it has < 2 white children.Otherwise, root is a leaf. Don’t change its color.Make root a leaf (may already be a leaf) and return.•Root represents a 2k x 2k, k > 1, region.Shrink subtrees (if any) of root.Recolor root if all subtrees now have same color.•Complexity is O(size of quad tree).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.Recursive Union(A,B)•root(A) (root(B)) is white => return A (B).•root(A) (root(B)) is black => 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|).A BIntersection•Rules.Do a pairwise intersection of corresponding pixels in the two images.Intersection is white iff both pixels of the pair are white.Recursive Intersection(A,B)•root(A) (root(B)) is black => return A (B).•root(A) (root(B)) is white => 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|).A


View Full Document

UF COP 5536 - Quad Trees

Download Quad Trees
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Quad Trees and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Quad Trees 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?