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: 0072226803 Text 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 Examination (2h30m) 80%
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 valve Chest X-ray Aortic angiogram Head CT Circuit boards Cygnus Loop X-Ray Imaging Ultraviolet 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 Circuit board controller Manufactural Images Packaged pills Bottles Bubbles in product Cereal Intraocular implant Images in Visual Spectrum Spaceborne Radar images Fingerprint Paper money Automated license number reading Radio Band Imaging (MRI) Electromagnetic Spectrum Magnetic Resonance Imaging
Electromagnetic Spectrum Ultrasound Imaging Crab Pulsar Scanning Electron Microscope Computer Generated Images Hair with dandruff Image Processing System Digital Image Processing
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 Processing: Transform an image into another image, often to make the image better to give information Computer Vision: Find the model of an image Computer Graphics: Create an image of a model Computer Vision Image Model Image Processing Computer Graphics