CS4802
Links
Week 1 Human Vision and Imaging
Course Module for the Federal Aviation Administration
- Human Visual System
- Contrast and Color
- CIE Color Space
- Perceptually uniform color spaces
- Nice chromaticity diagram showing the range of colors possible given three primary colors
- Presents L*U*V* color space (similar to L*a*b*)
Wikipedia
Misc. Color Spaces
Notes from courses offered elsewhere
- Physics of Light and Color Spaces, Universiteit Leiden IAMMV notes [pdf]
- Nice figures
- Interesting optical illusions
- Human Visual Sysem, Washington State University CS445 notes [pdf]
- Human Perception, Stanford EE368b notes [pdf]
- More mathematical approach
- The Human Visual System, University of Cape Town EEE401f notes [pdf]
Week 2 Point Processing
- http://www.cis.rit.edu/class/simg782/lectures/lecture_05/lec782_05_05.pdf This is a lecture from the Rochester Institute of Technology. It contains the following:
- A specific definition of Point Processing.
- Common Point Transforms (e.g. gamma, negative image, histogram)
- Examples on how to preform a Histogram Equalization and how to determine a what a Uniform Histogram Image looks like.
- Describes an equalization curve being applied to an image, with some sample code. I do not know what language the code is for.
- Describes the data that is found on various color planes (e.g. Red, Green Blue) and a comparison of what each equalization looks like.
- http://ia600307.us.archive.org/7/items/Lectures_on_Image_Processing/EECE253_03_PointProcessing.pdf
- This is a page that describes examples of point processes (examples of changing gamma, brightness, contrast or using a histogram).
- There is an example of a histogram split apart, with detail showing what each of the layers look like, and the amount of data on each layer. It also gives information on what the histogram of a color image would look like. The material in here is quite thorough and well displayed, albeit a bit hard to understand with some of the mathematical notation. This is part of a series of lectures which can all be found on the left sidebar here
- http://www.scribd.com/doc/36208391/Point-Processing
- This gives examples of Contrast Stretching, Image Enhancement, Histogram Matching and Equalization.
- This also gives a brief example of an image as a function
- http://en.wikipedia.org/wiki/Point_process
- This article gives much deeper examples of point processing including mathematical proofs and examples for many point processes.
- Examples are given of areas where point processes might be used outside of Image Processing
- http://bme.med.upatras.gr/improc/enhancement_point_processing.htm
- This site has a series of examples of what Point Processing looks like in a medical environment.
- More examples are given, as well a series of in depth articles regarding the each of the particular topics. Included amongst these are Histograms, Equalization, Image Subtraction and Averaging.
Week 3 Digital Filtering
Notes from other courses
- Noise Removal, Sharpening, Deblurring
- Similar to notes from lecture
Filtering Algorithms
Wikipedia
Code Samples
Week 5 Image Scaling
-
Wikipedia - Image Scaling
overview with links to specific algorithms, such as:- Nearest Neighbor Interpolation
- Bilinear Interpolation
- Eric's Pixel Expansion
- Eagle
- Eric's Pixel Expansion
- hqx (high quality magnification)
Interpolation with a lookup table - and more the main article also has application information such as implementation in different video games and emulators
- Quick image scaling algorithms
Discussion on Bresenham algorithm as well as code snippets of scaling with multiple methods - Depixelizing Pixel Art [PDF]
A Microsoft research paper on keeping smooth pictures during scaling
Extremely thorough, but very interesting - Image Resizing - outperform GDI+
A very good article with sample project on many different filters- Box equivalent to Nearest Neighbor on upsampling, averages pixels on downsampling
- Triangle equivalent to Low; the function can be called Tent function for its shape
- Hermite use of the cubic spline from Hermite interpolation
- Bell attempt to compromise between reducing block artifacts and blurring image
- CubicBSpline most blurry filter (cubic Bezier spline) - known samples are just "magnets" for this curve
- Lanczos3 windowed Sinc function (sin(x)/x) - promising quality, but ringing artifacts can appear
- Mitchell another compromise, but excellent for upsampling
- Cosine an attemp to replace curve of high order polynomial by cosine function (which is even)
- CatmullRom Catmull-Rom curve, used in first image warping algorithm (did you see Terminator II ?)
- Quadratic performance optimized filter - results are like with B-Splines, but using quadratic function only
- QuadraticBSpline quadratic Bezier spline modification
- CubicConvolution filter used in one example, its weight distribution enhances image edges
- Lanczos8 also Sinc function, but with larger window, this function includes largest neighborhood
A good comparison between bilinear and bicubic resizing, and from the same guy but about fractal resizing: Better Image Resizing
Week 6 Halftoning
- Princeton Lecture on Halftoning and Dithering
- A summary of quantization, halftoning and dithering.
- C++ implementations of random dither, Bayer's ordered dither, and the Floyd-Steinberg algorithm
- Hewlett Packard paper on inverse halftoning
- This paper explains how to quickly reproduce an 8-bit image from its halftoned version
- Wikipedia article on halftoning
- Covers the history and application of halftoning as it relates to certain industries and art
- Tutorial on halftoning images in GIMP
- This article goes through the process and various options involved in halftoning an image in the open source image editing tool, GIMP
Week 7 Frequency Domain
-
Lecture on Frequency Domain from Lehigh University
- Gives good overview of the freqeuncy domain.
- Includes examples of fourier transform with lots of formulas and image examples
-
Faster than Fast Fourier Transform
- MIT research on a new technique for fourier transform
- Couple 3-D examples of frequency domain with images
Week 8 Image Compression
Lossless
Huffman Coding
Run-Length Encoding
Modified Huffman Coding
Lempel-Ziv Coding
Arithmetic Coding
Lossy
Dynamic Window-Based Run Length Encoding
Block Truncation Coding
Transform Coding
Last modified: Friday, 02-Jan-2015 10:33:32 EST