1 option
An interdisciplinary introduction to image processing : pixels, numbers, and programs / Steven L. Tanimoto.
- Format:
- Book
- Author/Creator:
- Tanimoto, S. (Steven)
- Language:
- English
- Subjects (All):
- Image processing.
- Physical Description:
- xxii, 521 p., [20] p. of plates : ill. (some col.)
- Edition:
- 1st ed.
- Place of Publication:
- Cambridge, Mass. : MIT Press, c2012.
- Language Note:
- English
- Summary:
- Basic principles of image processing and programming explained without college-level mathematics.
- Contents:
- Intro
- Contents
- Preface
- Acknowledgments
- I IMAGES AND FORMULAS
- 1 Introduction
- 1.1 Sources of Images
- 1.2 What Is an Image?
- 1.3 What Is a Pixel?
- 1.4 What Is a Function?
- 1.5 What Is a Program?
- 1.6 Human Vision
- 1.7 How Does a Digital Camera Work?
- 1.8 What Can We Do with All These Pixels?
- 1.9 References
- 1.10 Exercises
- 2 Getting Started
- 2.1 Representation of Digital Images
- 2.2 Starting PixelMath
- 2.3 Examining Your Image
- 2.4 Put a Twinkle in Your Eye
- 2.5 A Quick Overview of Features
- 2.6 References
- 2.7 Exercises
- 3 Brightness and Contrast
- 3.1 Brightness
- 3.2 Contrast
- 3.3 Histograms
- 3.4 Thresholding
- 3.5 Quantization
- 3.6 Bits and Bytes
- 3.7 The Memory Required by an Image
- 3.8 References
- 3.9 Exercises
- 4 Controlling Color
- 4.1 The Phenomenon of Color
- 4.2 Controlling Color in PixelMath
- 4.3 Specific Colors and Palettes
- 4.4 Color Enhancements
- 4.5 Specifying Color Components in Formulas
- 4.6 Hue, Saturation, and Value
- 4.7 Indexed Color Formats, GIF and PNG
- 4.8 References
- 4.9 Exercises
- 5 Geometric Transformations
- 5.1 Overview
- 5.2 Scaling with One Window
- 5.3 Push versus Pull
- 5.4 Setting Up for Two-Window Operations
- 5.5 Widths and Heights
- 5.6 Reflections
- 5.7 90-Degree Rotations
- 5.8 Two Transformations in Succession
- 5.9 Modular Arithmetic on Coordinates
- 5.10 Resampling
- 5.11 Composition of Transformations
- 5.12 Invertibility and the Identity
- 5.13 Closure
- 5.14 Groups
- 5.15 Summary
- 6 Geometric Distortions
- 6.1 Perturbing Coordinates
- 6.2 Modulator Images
- 6.3 Invertibility Once Again
- 6.4 Polar Coordinates
- 6.5 Angles and Radii
- 6.6 Visualizing the Polar Coordinates
- 6.7 Transformations with Polar Coordinates
- 6.8 Fisheye Transformations
- 6.9 Ripples on a Pond.
- 6.10 Polar Pixellation Effects
- 6.11 About Anamorphic Images
- 6.12 Definition and Motivation
- 6.13 Obtaining a Cylindrical Mirror
- 6.14 Slant Anamorphosis
- 6.15 Cylinder Anamorphosis
- 6.16 Connections
- 6.17 Tuning Parameters
- 6.18 References
- 6.19 Exercises
- 7 Synthesizing Images
- 7.1 Rendering Points
- 7.2 Drawing Lines
- 7.3 Nonlinear Functions of the Form y = f(x)
- 7.4 Other Planar Figures
- 7.5 Functions of Form z = f(x,y)
- 7.6 Mountain Ranges and Distance Transforms
- 7.7 Making Curved Surfaces
- 7.8 Exercises
- 8 Stereograms
- 8.1 Introduction to Stereo
- 8.2 Traditional Stereo Pairs
- 8.3 Autostereograms
- 8.4 Making an Autostereogram: Basic Ideas
- 8.5 Challenges
- 8.6 Further Discussion
- 8.7 References
- 8.8 Exercises
- 9 Images Within Images
- 9.1 What Is Steganography?
- 9.2 Discovering Information by Stretching Contrast
- 9.3 Hiding Messages Using Key Values
- 9.4 Hiding Messages Using Bitwise Exclusive-OR
- 9.5 Hiding and Finding Messages Using Masks
- 9.6 Scrambling and Unscrambling
- 9.7 Watermarks
- 9.8 Photomosaics
- 9.9 Panorama Stitching
- 9.10 Fractals
- 9.11 References
- 9.12 Exercises
- 10 Filtering
- 10.1 Introduction
- 10.2 Filtering Out Noise
- 10.3 Median Filtering
- 10.4 High-Pass Filtering and Sharpening
- 10.5 Convolution
- 10.6 Systems of Filters
- 10.7 The Discrete Cosine Transform
- 10.8 Vectors and Vector Spaces
- 10.9 Bases for Vector Spaces
- 10.10 Image Vector Spaces
- 10.11 Bases of Complex Exponentials
- 10.12 Fourier Transforms
- 10.13 Two-Dimensional Fourier Transforms
- 10.14 Filtering with the Fourier Transform
- 10.15 References
- 10.16 Exercises
- II IMAGES AND PROGRAMS
- 11 Introducing Python
- 11.1 Why Use Programming in PixelMath?
- 11.2 Introducing the Programming Interface
- 11.3 Editing Sequences of Commands.
- 11.4 How to Deal with Errors in the Commands
- 11.5 A Longer Example
- 11.6 PixelMath Commands
- 11.7 An Example: Twin Monas
- 11.8 References
- 12 Basics of Python
- 12.1 Overview
- 12.2 Interacting with Python
- 12.3 Numbers
- 12.4 Variables
- 12.5 Arithmetic Expressions
- 12.6 Strings
- 12.7 Lists
- 12.8 Built-in Functions
- 12.9 Modules and Importing
- 12.10 Comments in Code
- 12.11 Example
- 12.12 References
- 12.13 Exercises
- 13 Control Structures: Conditionals and Repetition
- 13.1 Overview
- 13.2 Conditionals
- 13.3 Boolean Values
- 13.4 Multiple Cases
- 13.5 Loops
- 13.6 Nested Loops
- 13.7 Looping to Enlarge an Image
- 13.8 Loops Using while
- 13.9 Setting up Multiple Windows
- 13.10 Building Convolution Formulas
- 13.11 Four-Level Nesting for Median Filtering
- 13.12 Iterative Transformations
- 13.13 Dissolves
- 13.14 Anatomy of a Loop
- 13.15 Progressive Scrambling
- 13.16 Handling Exceptions
- 13.17 Exercises
- 14 Data Structures
- 14.1 Overview
- 14.2 Strings
- 14.3 Lists
- 14.4 Tuples
- 14.5 Dictionaries
- 14.6 Classes
- 14.7 Trees
- 14.8 Graphs
- 14.9 References
- 14.10 Exercises
- 15 Creating Functions
- 15.1 Encapsulating Sequences of Operations
- 15.2 Defining Simple Python Functions
- 15.3 Functions with Parameters
- 15.4 Software Engineering with Functions
- 15.5 Returned Values versus Side Effects
- 15.6 Parameter List Options
- 15.7 Recursive Functions
- 15.8 Functional Programming Techniques
- 15.9 References
- 15.10 Exercises
- 16 Programming Techniques
- 16.1 Overview
- 16.2 Concepts and Paradigms
- 16.3 Imperative Programming
- 16.4 Object-Oriented Programming
- 16.5 Functional Programming
- 16.6 Callable Objects
- 16.7 A Three-Paradigm Presentation
- 16.8 Some Details About the Example
- 16.9 Scaffolding, Testing, and Debugging.
- 16.10 Considerations for Large Projects
- 16.11 References
- 16.12 Exercises
- 17 Image Analysis
- 17.1 Overview
- 17.2 Applications of Image Analysis
- 17.3 Boundary Finding
- 17.4 Contour and Line Finding
- 17.5 Connected Components
- 17.6 Morphology
- 17.7 Other Features
- 17.8 Exercises
- 18 Pattern Recognition
- 18.1 Overview
- 18.2 K-Nearest-Neighbor Classification
- 18.3 Perceptrons
- 18.4 The K-Means Clustering Method
- 18.5 References
- 18.6 Exercises
- 19 Computational Photography
- 19.1 Overview
- 19.2 High-Dynamic-Range Photography
- 19.3 Automatic Focus Methods
- 19.4 Multiple-Focus Photography
- 19.5 Ultra-High-Resolution Photography
- 19.6 Catadioptric Imaging
- 19.7 Separating Direct and Global Illumination
- 19.8 Image Inpainting
- 19.9 Other Developments
- 19.10 References
- 19.11 Exercises
- 20 Selected Applications
- 20.1 Overview
- 20.2 Morphing
- 20.3 Photomosaics with Many Images
- 20.4 An Image-Matching Game
- 20.5 References
- 20.6 Exercises
- APPENDIXES
- A Calculator Formulas
- B Quick Reference-PixelMath Formulas
- C Python Glossary
- D Troubleshooting
- E Graphical User Interfaces
- Index.
- Notes:
- Title from title screen.
- Digitized and made available by: Books24x7.com.
- Includes bibliographical references and index.
- ISBN:
- 0-262-30061-3
- 0-262-30139-3
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.