Welcome to Our Course Page!
The course relies on the use of MATLAB. The main site for MATLAB
information is at
mathworks
and
mathworks academia
One book on MATLAB is
Mastering MATLAB 7
by Duane Hanselman & Bruce Littlefield
Some introductory material is
introduction to matlab by Nir Gavish
crash introduction to matlab
A tutorial for matlab is available at
Matlab tutorial
A list of MATLAB image processing functions is given in
functions
Some free alternatives to MATLAB are OCTAVE and PYTHON
This list will be updated as the course progresses.
Books listed below are examples where the material can be found.
It is not exhaustive.
There will be homework assignments during the semester.
These consists of manipulations to the pictures provided below.
All programs are to be in MATLAB.
Homeworks can be submitted in PRINT only - complete with all
descriptions, programs and figures
submit either in class or in mailbox 034
CDs are in ADDITION not instead of printed version!
It is not necessary to supply the homework on a disk or CD
Homework and project can be in Hebrew or English
For reasons of anonymity homework and projects need include only a teudat zehut number or a name.
If one wishes a response it would be preferable to include an email address.
Grading of homeworks
The total of the homeworks will be about 25% of the total grade.
The final project will be worth about 75% of the total grade.
Grading of final project
Write program to calculate histogram of picture and then
perform histogram equalization and matching.
For more credit use randomization to improve the results.
Also try color in RGB and HSI/HSV
Consider histogram matching to a
1.parabolic or V shaped profile and inverse V
2. p(s) = alpha*exp(-alpha*s) alpha=0.5
3. logarithmic or exponential function
4. match histogram of one picture to histogram of a different picture
Some possible pictures are "dark image", copter, dolphins, salon
Picture jar_eq or F22 is a good example of separating centerpiece from
background
see also Bryce Canyon
Show the pictures and histogram before and after equalization/matching.
Do NOT use built in MATLAB functions, for example, imhist, cumsum, histeq
- except for comparison.
One CAN use the conversion MATLAB routines to/from color to gray
and between color types e.g. rgb2hsi
extra-extra credit try K-L transform on color picture and compare to
standard histogram equalization on each channel
Due December 1
There is also an Euler Math toolbox
MATLAB clones for Android are Addi and Mathmatiz
Some web sites of interest are
Vision Bibliography
DSP and Fourier filtering
ImageMagick - software to create, edit, and compose bitmap images
in many formats
Tucows software
Additional notes are available in notes
See also notes in Hebrew by Michael Elad at
MVP Laboratory
The course is open to all graduate students in applied mathematics
or computer science.
Knowledge of Fourier series is required.
There will be a only a brief review of the DFT and MATLAB in class.
Attendance is not required but HIGHLY recommended.
Points will be reduced for assignments submitted late.
The final project should be submitted in print
description should be sufficient to understand both what was done,
how it was done and what are the results
The actual code, description and pictures MUST be included
either as a disc/CD (preferable)
MUST include some driver routine (please use self evident name
such as main, driver, runit, etc.)
with a readme file explaining how to run it
or sent by email as an attachment (last resort - don't send many small
files, zip them)
If it is submitted by email please verify that the project
has been received
by sending a short message in a separate email
Leaving the final project on a web site is NOT acceptable
If the file is compressed use some zip format (or unix compress and tar)
Final project is due after Pesach, May 1, 2011.
Points will be reduced for late submission.
No need to hand in diskettes or CDs
Each assignment counts for 5% of the final grade.
If assignment is sent electronically it MUST BE in
MS WORD or PDF format (not zipped). I do not read other formats !!
Send all assignments to eliturkel@gmail.com ONLY
(the post account does not have enough storage)
Those working in pairs must also submit translation/explanation of journal article in addition to project. Some journals of interest are IEEE Transactions on Image Processing IEEE Transactions on Pattern Recognition Journal of Mathematical Imaging and Vision Computer Vision Graphics and Image Processing Journal of Electronic Imaging Pattern Recognition Pattern Recognition Letters vision bibliography
One can use all MATLAB commands.
The scope should be wider than a homework assignment and less than a thesis
Part of the work has to be beyond calling MATLAB commands
Part of the grade depends on ingenuity of the project
All choices involve noise. The noise can be either natural
(e.g. from scanner) or artificial (IMNOISE in MATLAB)
Try different levels and different types of noise
The options given below should be combined with other techniques
given in class
examples include, gamma correction, histogram equalization etc.
Where applicable use quantitative measurement to compare filters,
e.g. Pratts's figure of merit, NMSE,SNR
This is in addition to subjective criteria
To get grade over 90 requires harder pictures and/or
advanced algorithms and originality e.g. :
extra credit: use adaptive, local features or nonlinear operators
extra credit: use color pictures in RGB & HSI - see effect of
using only some of the HSI basis
for better resolution submit color pictures on CD/disc
MUST include detailed discussion of results. Discuss each
set of graphs presented.
Do not give many pictures with 5 lines of short summary of results.
Listed below are several options to be chosen by student.
Individual suggestions beyond these by the student is preferable.
All decisions for the topic must be okayed.
MOST students choose topics of their own choice (subject to approval). For others some suggested projects are:
Barbara
Varda
Lenna
Blonde Woman
Building
-------------------------------------
Good for checking histogram equalization/matching
Dark Picture
Dolphins
Helicopter
Color Dark Picture
Underexposed Picture
Frog
F22
Jars
Merkava Tank
Plane & Chinatown
Seascape
Skiing
-------------------------------------
Good for checking edge detection and segmentation
Beads
Bicycle Handle
Boat
Chessboard
Chinese
Chinese Dragon
Coins (Quarters)
Corridor
Kanizsa Triangle
Letter edges
5 Agora Coin
Israeli coins
Diamonds
Fingerprint - clear
Fingerprint - fuzzier
Fingerprint - fuzziest
Machine
Nuts&Bolts
Pattern
Peppers
Shapes
Shapes1
Circles
Blocks
Silicon
Simple Shield
Shield
Street
Tools
Tools2
Typewriter
X
Wall
Wheel
Windmill
Zebra
----------------------------------------------------------------------
Blurred pictures for Inverse and Wiener Filter,
created using
H = fspecial('motion',20,45); (or other parameters)
MotionBlur = imfilter(I,H,'replicate');
Blurred cameraman
Blurred Chessboard
----------------------------------------------------------------------
hard pictures - uneven illumination, shadows, textures
Bryce Canyon
Chess game
Dalmation in snow
Dogs
Glacier
Lightning
London in the Snow
Old Buildings
Ostracon
Pinecone
Salon - use color histogram equalization
Shadows
Shoppingcart
Skeleton
Sphinx
Street-map
Textures
Textures2
----------------------------------------------------------------------
Astronomy & Sky pictures
Andromeda Galaxy
Ant Nebula
Bird Migration
Blackhole
Crab Nebula