Image Abstract Data Types, and Operations on Images

Slides:



Advertisements
Similar presentations
Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms Post-order Traversal: Left Child - Right Child - Root Depth-First Search.
Advertisements

Introduction to Computer Science 2 Lecture 7: Extended binary trees
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
22C:19 Discrete Structures Trees Spring 2014 Sukumar Ghosh.
22C:19 Discrete Math Trees Fall 2011 Sukumar Ghosh.
Data Compressor---Huffman Encoding and Decoding. Huffman Encoding Compression Typically, in files and messages, Each character requires 1 byte or 8 bits.
Quadtrees, Octrees and their Applications in Digital Image Processing
Compression & Huffman Codes
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 26 Binary Search Trees.
Quadtrees, Octrees and their Applications in Digital Image Processing
1 Lecture 12 Neighbourhood Operations (2) TK3813 DR MASRI AYOB.
CS 206 Introduction to Computer Science II 04 / 29 / 2009 Instructor: Michael Eckmann.
Objective of Computer Vision
CS 206 Introduction to Computer Science II 12 / 10 / 2008 Instructor: Michael Eckmann.
100+ Times Faster Weighted Median Filter [cvpr ‘14]
1 Section 9.2 Tree Applications. 2 Binary Search Trees Goal is implementation of an efficient searching algorithm Binary Search Tree: –binary tree in.
Week 7 - Wednesday.  What did we talk about last time?  Recursive running time  Master Theorem  Introduction to trees.
Multimedia Systems & Interfaces Karrie G. Karahalios Spring 2007.
Lecture 06: Tree Structures Topics: Trees in general Binary Search Trees Application: Huffman Coding Other types of Trees.
Data Structures Arrays both single and multiple dimensions Stacks Queues Trees Linked Lists.
Algorithm Design & Analysis – CS632 Group Project Group Members Bijay Nepal James Hansen-Quartey Winter
CS-2852 Data Structures LECTURE 13B Andrew J. Wozniewicz Image copyright © 2010 andyjphoto.com.
Chap 3 : Binary Image Analysis. Counting Foreground Objects.
Lecture 10 Trees –Definiton of trees –Uses of trees –Operations on a tree.
September 23, 2014Computer Vision Lecture 5: Binary Image Processing 1 Binary Images Binary images are grayscale images with only two possible levels of.
Quadtrees, Octrees and their Applications in Digital Image Processing.
Lossless Compression CIS 465 Multimedia. Compression Compression: the process of coding that will effectively reduce the total number of bits needed to.
Image processing Fourth lecture Image Restoration Image Restoration: Image restoration methods are used to improve the appearance of an image.
Binary Search Tree Traversal Methods. How are they different from Binary Trees?  In computer science, a binary tree is a tree data structure in which.
Design of Novel Two-Level Quantizer with Extended Huffman Coding for Laplacian Source Lazar Velimirović, Miomir Stanković, Zoran Perić, Jelena Nikolić,
© Copyright 2012 by Pearson Education, Inc. All Rights Reserved. 1 Chapter 19 Binary Search Trees.
Huffman’s Algorithm 11/02/ Weighted 2-tree A weighted 2-tree T is an extended binary tree with n external nodes and each of the external nodes is.
Foundation of Computing Systems
1 Trees General Trees  Nonrecursive definition: a tree consists of a set of nodes and a set of directed edges that connect pairs of nodes.
Week 7 - Wednesday.  What did we talk about last time?  Recursive running time  Master Theorem  Symbol tables.
BSTs, AVL Trees and Heaps Ezgi Shenqi Bran. What to know about Trees? Height of a tree Length of the longest path from root to a leaf Height of an empty.
Copyright ©2008, Thomson Engineering, a division of Thomson Learning Ltd.
CSE373: Data Structures & Algorithms
Chapter 25 Binary Search Trees
Top 50 Data Structures Interview Questions
Chapter 5 : Trees.
Representing Sets (2.3.3) Huffman Encoding Trees (2.3.4)
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone:
Binary Tree.
CISC220 Fall 2009 James Atlas Lecture 13: Binary Trees.
Binary Search Tree (BST)
Source Code for Data Structures and Algorithm Analysis in C (Second Edition) – by Weiss
Binary Tree and General Tree
8.2 Tree Traversals Chapter 8 - Trees.
Other Algorithms Follow Up
Alyce Brady CS 470: Data Structures CS 510: Computer Algorithms
Binary Image Analysis: Part 1 Readings: Chapter 3: 3.1, 3.4, 3.8
Binary Search Trees < > =
i206: Lecture 14: Heaps, Graphs intro.
Fundamentals of Spatial Filtering
Binary Image Analysis: Part 1 Readings: Chapter 3: 3.1, 3.4, 3.8
Chapter 11 Data Compression
Huffman Coding CSE 373 Data Structures.
Huffman Encoding Huffman code is method for the compression for standard text documents. It makes use of a binary tree to develop codes of varying lengths.
CSE 373, Copyright S. Tanimoto, 2002 Binary Trees -
Binary Search Trees.
Binary Trees: Motivation
Digital Image Processing Week IV
Data Structures and Algorithms
CSE 373, Copyright S. Tanimoto, 2001 Binary Trees -
Magnetic Resonance Imaging
Overview Analysis Notation Specific ADTs
Disjoint Sets DS.S.1 Chapter 8 Overview Dynamic Equivalence Classes
Intensity Transformation
Presentation transcript:

Image Abstract Data Types, and Operations on Images CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types - Motivation Image data makes up more than 75% of Internet data traffic. Images are widely used in modern computing systems and applications. A wide variety of algorithms work with image data. CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

Mathematical Description An image is a function mapping pixel positions to values. Its domain is a set of the form D = {0, 1, ..., m-1}  {0, 1, ..., n-1} Its range is a set of possible "pixel values." Different kinds of images have different ranges. A binary image has range {0, 1}. A monochrome image typically has range {0, 1, ..., 255}. An RGB typically has range {0, 1, ..., 255}3. CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

An Image Abstract Data Type Data: Binary Images I: {0, 1, ..., m-1}  {0, 1, ..., n-1}  {0, 1} Methods: PUTPIXEL: IMAGES  D  {0, 1}  IMAGES GETPIXEL: IMAGES  D  {0, 1} CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

Another Image Abstract Data Type Data: Monochrome Images I: {0, 1, ..., m-1}  {0, 1, ..., n-1}  {0, 1,...,255} Methods: PUTPIXEL: IMAGES  D  {0, 1, ..., 255}  IMAGES GETPIXEL: IMAGES  D  {0, 1, ..., 255} CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

Images: Array Implementation 7 3 3 3 3 3 3 3 1 1 9 9 5 6 9 9 CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

Images: Quadtree Implementation 7 3 3 3 3 3 3 3 1 1 9 9 3 9 5 6 9 9 Recursively quarter each image region whenever the pixel values are heterogeneous. Create a node for each region. 7 3 3 3 1 1 5 6 CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

Images: Run-Length Coding 7 3 3 3 1x7;7x3;2x1;2x9;1x5;1x6;2x9 3 3 3 3 1 1 9 9 5 6 9 9 Using row-major (raster-scan) ordering, write out the number of pixels in each run followed by an "x" and the value of the pixels in the run. Separate runs with ";". CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types - Median Filtering "Salt-and-pepper" noise is present in many video images. It not only looks bad, but it can lead recognition algorithms astray. One method for eliminating salt-and-pepper noise is to replace each pixel value by the median of the 9 values in its 3 by 3 neighborhood. 2 2 4 2 9 5 1 2 4 2 CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

Connected Components Analysis 7 3 3 3 1 1 1 3 3 3 3 1 1 1 1 1 1 9 9 2 2 3 3 5 6 9 9 4 5 3 3 Two common method for computing this are: (1) stack-based depth-first search, and (2) merging components using the UNION-FIND technique. CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types - Thresholding 7 3 3 3 1  4 3 3 3 3 1 1 9 9 1 1 5 6 9 9 1 1 1 1 Any pixel with value greater than or equal to the threshold gets mapped to 1. Otherwise it's mapped to 0. CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

Image Compression using Huffman Coding Frequency table: 1: 2 3: 7 5: 1 6: 1 7: 1 9: 4 Sorted table: 5: 1 6: 1 7: 1 1: 2 9: 4 3: 7 Huffman Tree: 7 3 3 3 16 3 3 3 3 9 7 1 1 9 9 3 5 6 9 9 5 4 Code 3: 1 9: 01 1: 001 5: 00000 6: 00001 7: 0001 9 3 2 1 To build the Huffman tree, keep taking the two smallest-weight subtrees and merge them. To code a pixel, trace the path from the root to that leaf, writing a 0 whenever going left and 1 whenever going right. 2 1 7 1 1 6 5 CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -

Convolution Filtering Kernel K[1,1] 2 2 4 -1 1 2 9 5 -2 2 1 2 4 -1 1 I'[i,j] =  I[i+r,j+s] K[1+r,1+s] Image I[i,j] r, s = -1, 1 CSE 373, Copyright S. Tanimoto, 2002 Image Abstract Data Types -