C++ for Image Processing
Pengwei Hao p.hao@qmul.ac.uk
Lecture 1, ECS624U / ECS756P/D
Department of Computer Science Queen Mary, University of London
The Module
• Lectures:
Friday, 1-3pm, Bancroft Road Teaching Room BR3.01 Pengwei Hao (p.hao@qmul.ac.uk)
• Lab sessions:
Wednesday, 11am-1pm, ITL Ground floor Zongyi Xu (zongyi.xu@qmul.ac.uk) Wenxuan Mou (w.mou@qmul.ac.uk) Shenglan Huang (s.huang@qmul.ac.uk) • Enrolled students:
ECS624U: 45 students, ECS756P: 2 students
Lab Sessions and Courseworks
Labs are compulsory
Week 2-4: labs for C++ programming Week 5-9: labs for image processing Week 10: coursework completion
The deadline to complete the coursework is the end of Week 10.
Week 11&12: coursework assessment (assessed during the last 2 lab sessions.)
Prerequisites
• Mathematical background: calculus,
complex arithmetic, statistics, linear
algebra
• Basic understanding of signal
processing: function, signal and
spectrum
• Some programming experience
Text Book – C++
C++: The Complete Reference, (4th Edition), by Herbert Schildt, 1056 pages, McGraw-Hill Osborne Media, 2002, ISBN: 0072226803Text Book – Image Processing
Digital Image Processing
(2nd Edition), by Rafael C. Gonzalez, and Richard E. Woods, 793 pages, Prentice Hall, 2002, ISBN: 0201180758.
Reference Books
• Digital Image Processing using MATLAB, by Rafael C. Gonzalez, and Richard E. Woods, 793 pages, Prentice Hall, 2002, ISBN: 0201180758.
• Image Processing: The Fundamentals, by M. Petrou and P. Bosdogianni, 354 pages, John Wiley & Sons, 1999, ISBN: 0471998834
• Algorithms for Image Processing and Computer Vision, by J. R. Parker, 432 pages (with CD-ROM), John Wiley & Sons, 1996, ISBN: 0471140562.
• Computer Vision and Image Processing, by Tim Morris, 320 pages, Palgrave Macmillan, 2003, ISBN: 0333994515
Reference Journals
• IEEE Trans. Image Processing • IEEE Trans. Signal Processing • IEEE Trans. Medical Imaging
• Computer Vision and Image Understanding (CVIU)
• Graphical Modeling and Image Processing • Computer Vision, Graphics and Image
Processing (CVGIP)
Reference Proceedings
• International Conference on Image Processing (ICIP)
• IEEE International Conference on Computer Vision (ICCV)
• IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR)
Websites – the module
• The course: http://www.eecs.qmul.ac.uk/~phao/CIP/ • Labs: http://www.dcs.qmul.ac.uk/~phao/CIP/Labs/ • Lecture notes : http://www.dcs.qmul.ac.uk/~phao/CIP/Notes/ • Coursework: http://www.dcs.qmul.ac.uk/~phao/CIP/Labs/cwk/ • Past exam papers: available on the DCS intranet
and the QMUL library.
Websites – related
• Image processing: http://www.imageprocessingbook.com • C++ language tutorial: http://www.cplusplus.com/doc/tutorial/index.html • C++ library reference: http://www.cplusplus.com/ref/Assessment
• Coursework
20%
Assessed during the last 2 lab sessions
History of C++
• C : developed by Dennis Ritchie at Bell Labs for UNIX on a PDP-11 computer, 1969-1973 • C++ : written by Bjarne Sroustrup at Bell
Labs, 1983-1985
• C++ is an extension of C
• Added features to C, “with Classes”
• C++ improves the quality of code and makes reusable code easier to write
Image Processing
• Image Processing : Process images by means of digital computers
• Image : photograph/picture scanned/produced • Digital image : An electronic photograph
made up of a set of picture elements, "pixels" • Each pixel is at a spatial position and has a
tonal value (intensity, gray level) represented digitally in binary code (zeros and ones).
First Digital Image
• Used in newspaper industry
• Sent between London and New York • Bartlane cable picture transmission system
was introduced in 1920. a week => 3 hours • Reproduced on a telegraph printer with
typefaces to simulate a halftone pattern
Photographic Reproduction
• Better tonal quality (5 gray levels) • Higher resolution
Photographic Reproduction
• Better tonal quality (15 gray levels) • Higher resolution
Computers Involved in Creation
• From early 1960s • US space missions
Medical Imaging
• From late 1960s and early 1970s • Computerized tomography (CT) • Using X-rays
Gamma-Ray Imaging
• Bone scan • Positron emission tomography (PET) • Cygnus Loop • Gamma radiation from a reactor valveX-Ray Imaging
• Chest X-ray • Aortic angiogram • Head CT • Circuit boards • Cygnus LoopUltraviolet Band Imaging
• Normal corn • Smut corn • Cygnus Loop
Light Microscopy Images
• Anticancer agent, 250X• Cholesterol, 40X • Microprocessor, 60X • Nickel oxide thin film,
600X
• Audio CD surface, 1750X • Organic superconductor,
450X
Landsat Satellite Image
7 Bands: 1. Visible blue, 2. visible green, 3. visible red, 4. near infrared, 5. middle infrared, 6. thermal infrared, 7. middle infrared
Multispectral Image
- Hyperspectral image - 80 bands (highly correlated) - 512x346
- Road, water, rice paddy
Manufactural Images
• Circuit board controller • Packaged pills • Bottles • Bubbles in product • Cereal • Intraocular implantImages in Visual Spectrum
• Fingerprint • Paper money • Automated
license number reading
Spaceborne Radar images
Radio Band Imaging (MRI)
Magnetic Resonance Imaging
Electromagnetic Spectrum
Crab Pulsar
Ultrasound Imaging
Scanning Electron Microscope
Hair with dandruff
Computer Generated Images
What You Will Learn
• Level (brightness)operations • Algebraic and logical operations • Geometric transformations
• Filtering (both spatial and frequency-based)
• Sampling
• Restoration/Reconstruction • Compression
Applications
• Multimedia (just look at the web)• Image Editing and Manipulation (Photoshop)
• Medical Imaging (CT, MRI)
• Compression (PNG, JPEG)
• Document Processing (OCR)
• Image Libraries (restoration/cleanup, storage, retrieval)
• Many More
Relation to Other Fields
Image Model
Image Processing
Computer Vision
Computer Graphics
• Image Processing: Transform an image into another image, often to make the image better to give information
• Computer Vision: Find the model of an image