Online Courses and Tutorials provides you with the latest online courses information by assisting over 45,000 courses and 1 million students.

Learn programming, marketing, data science and more.

Get started today

Skip to main content

Data Analysis and Interpretation

About This Specialization Learn SAS or Python programming, expand your knowledge of analytical methods and applications, and conduct original research to inform complex decisions. The Data Analysis and Interpretation Specialization takes you from data novice to data expert in just four project-based courses. You will apply basic data science tools, including data management and visualization, modeling, and machine learning using your choice of either SAS or Python, including pandas and Scikit-learn. Throughout the Specialization, you will analyze a research question of your choice and summarize your insights. In the Capstone Project, you will use real data to address an important issue in society, and report your findings in a professional-quality report. You will have the opportunity to work with our industry partners, DRIVENDATA and The Connection. Help DRIVENDATA solve some of the world's biggest social challenges by joining one of their competitions, or help The Connection be…

Fundamentals of Digital Image and Video Processing

Fundamentals of Digital Image and Video Processing

About this course: In this class you will learn the basic principles and tools used to process images and videos, and how to apply them in solving practical problems of commercial and scientific interests. Digital images and videos are everywhere these days – in thousands of scientific (e.g., astronomical, bio-medical), consumer, industrial, and artistic applications. Moreover they come in a wide range of the electromagnetic spectrum - from visible light and infrared to gamma rays and beyond. The ability to process image and video signals is therefore an incredibly important skill to master for engineering/science students, software developers, and practicing scientists. Digital image and video processing continues to enable the multimedia technology revolution we are experiencing today. Some important examples of image and video processing include the removal of degradations images suffer during acquisition (e.g., removing blur from a picture of a fast moving car), and the compression and transmission of images and videos (if you watch videos online, or share photos via a social media website, you use this everyday!), for economical storage and efficient transmission. This course will cover the fundamentals of image and video processing. We will provide a mathematical framework to describe and analyze images and videos as two- and three-dimensional signals in the spatial, spatio-temporal, and frequency domains. In this class not only will you learn the theory behind fundamental processing tasks including image/video enhancement, recovery, and compression - but you will also learn how to perform these key processing tasks in practice using state-of-the-art techniques and tools. We will introduce and use a wide variety of such tools – from optimization toolboxes to statistical techniques. Emphasis on the special role sparsity plays in modern image and video processing will also be given. In all cases, example images and videos pertaining to specific application domains will be utilized.

Created by:   Northwestern University

  • Aggelos K. Katsaggelos
    Taught by:    Aggelos K. Katsaggelos, Joseph Cummings Professor
    Department of Electrical Engineering and Computer Science
How To PassPass all graded assignments to complete the course.
User Ratings
Average User Rating 4.6See what learners said
Introduction to Image and Video Processing
In this module we look at images and videos as 2-dimensional (2D) and 3-dimensional (3D) signals, and discuss their analog/digital dichotomy. We will also see how the characteristics of an image changes depending on its placement over the electromagnetic spectrum, and how this knowledge can be leveraged in several applications.

3 videos5 readings
  1. Reading: Welcome Class!
  2. Reading: Grading Policy
  3. Reading: Further Reading
  4. Reading: About Us
  5. Video: Analog v.s. Digital Signals
  6. Video: Image and Video Signals
  7. Video: Electromagnetic Spectrum
  8. Reading: Download the slides
Graded: Homework 1
Signals and Systems
In this module we introduce the fundamentals of 2D signals and systems. Topics include complex exponential signals, linear space-invariant systems, 2D convolution, and filtering in the spatial domain.  

5 videos4 readings
  1. Reading: MATLAB
  2. Reading: Use of MATLAB for Programming Assignments
  3. Reading: In This Module...
  4. Video: 2D and 3D Discrete Signals
  5. Video: Complex Exponential Signals
  6. Video: Linear Shift-Invariant Systems
  7. Video: 2D Convolution
  8. Video: Filtering in the Spatial Domain
  9. Reading: Download the slides
Graded: Homework 2
Fourier Transform and Sampling
In this module we look at 2D signals in the frequency domain. Topics include: 2D Fourier transform, sampling, discrete Fourier transform, and filtering in the frequency domain. 

5 videos2 readings
  1. Reading: In this Module...
  2. Video: 2D Fourier Transform
  3. Video: Sampling
  4. Video: Discrete Fourier Transform
  5. Video: Filtering in the Frequency Domain
  6. Video: Change of Sampling Rate
  7. Reading: Download the slides
Graded: Homework 3
Motion Estimation
In this module we cover two important topics, motion estimation and color representation and processing. Topics include: applications of motion estimation, phase correlation, block matching, spatio-temporal gradient methods, and fundamentals of color image processing

5 videos2 readings
  1. Reading: In This Module...
  2. Video: Applications of Motion Estimation
  3. Video: Phase Correlation
  4. Video: Block Matching
  5. Video: Spatio-Temporal Gradient Methods
  6. Video: Fundamentals of Color Image Processing
  7. Reading: Download the slides
Graded: Homework 4
Image Enhancement
In this module we cover the important topic of image and video enhancement, i.e., the problem of improving the appearance or usefulness of an image or video. Topics include: point-wise intensity transformation, histogram processing, linear and non-linear noise smoothing, sharpening, homomorphic filtering, pseudo-coloring, and video enhancement.

9 videos2 readings
  1. Reading: In This Module...
  2. Video: Introduction
  3. Video: Point-wise Intensity Transformations
  4. Video: Histogram Processing
  5. Video: Linear Noise Smoothing
  6. Video: Non-linear Noise Smoothing
  7. Video: Sharpening
  8. Video: Homomorhpic Filtering
  9. Video: Pseudo Coloring
  10. Video: Video Enhancement
  11. Reading: Download the slides
Graded: Homework 5
Image Recovery: Part 1
In this module we study the problem of image and video recovery. Topics include: introduction to image and video recovery, image restoration, matrix-vector notation for images, inverse filtering, constrained least squares (CLS), set-theoretic restoration approaches, iterative restoration algorithms, and spatially adaptive algorithms.

9 videos2 readings
  1. Reading: In This Module...
  2. Video: Examples of Image and Video Recovery
  3. Video: Image Restoration
  4. Video: Matrix-Vector Notation for Images
  5. Video: Inverse Filtering
  6. Video: Constrained Least Squares
  7. Video: Set-Theoretic Restoration Approaches
  8. Video: Iterative Restoration Algorithms
  9. Video: Iterative Least-Squares and Constrained Least-Squares
  10. Video: Spatially Adaptive Algorithms
  11. Reading: Download the Slides
Graded: Homework 6
Image Recovery : Part 2
In this module we look at the problem of image and video recovery from a stochastic perspective. Topics include: Wiener restoration filter, Wiener noise smoothing filter, maximum likelihood and maximum a posteriori estimation, and Bayesian restoration algorithms.

6 videos2 readings
  1. Reading: In This Module...
  2. Video: Wiener Restoration Filter
  3. Video: Wiener v.s. Constrained Least-Squares Restoration Filter
  4. Video: Wiener Noise Smoothing Filter
  5. Video: Bayesian Restoration Algorithms
  6. Video: Maximum Likelihood and Maximum A Posteriori Estimation
  7. Video: Other Restoration Applications
  8. Reading: Download the Slides
Graded: Homework 7
Lossless Compression
In this module we introduce the problem of image and video compression with a focus on lossless compression. Topics include: elements of information theory, Huffman coding, run-length coding and fax, arithmetic coding, dictionary techniques, and predictive coding.

8 videos2 readings
  1. Reading: In This Module...
  2. Video: Introduction
  3. Video: Elements of Information Theory - Part I
  4. Video: Elements of Information Theory - Part II
  5. Video: Huffman Coding
  6. Video: Run-Length Coding and Fax
  7. Video: Arithmetic Coding
  8. Video: Dictionary Techniques
  9. Video: Predictive Coding
  10. Reading: Download the Slides
Graded: Homework 8
Image Compression
In this module we cover fundamental approaches towards lossy image compression. Topics include: scalar and vector quantization, differential pulse-code modulation, fractal image compression, transform coding, JPEG, and subband image compression.  

7 videos2 readings
  1. Reading: In This Module...
  2. Video: Scalar Quantization
  3. Video: Vector Quantization
  4. Video: Differential Pulse-Code Modulation
  5. Video: Fractal Image Compression
  6. Video: Transform Coding
  7. Video: JPEG
  8. Video: Subband Image Compression
  9. Reading: Download the Slides
Graded: Homework 9
Video Compression
In this module we discus video compression with an emphasis on motion-compensated hybrid video encoding and video compression standards including H.261, H.263, H.264, H.265, MPEG-1, MPEG-2, and MPEG-4. 

6 videos2 readings
  1. Reading: In This Module...
  2. Video: Motion-Compensated Hybrid Video Encoding
  3. Video: On Video Compression Standards
  4. Video: H.261, H.263, MPEG-1 and MPEG-2
  5. Video: MPEG-4
  6. Video: H.264
  7. Video: H.265
  8. Reading: Download the Slides
Graded: Homework 10
Image and Video Segmentation
In this module we introduce the problem of image and video segmentation, and discuss various approaches for performing segmentation including methods based on intensity discontinuity and intensity similarity, watersheds and K-means algorithms, and other advanced methods.

4 videos2 readings
  1. Reading: In This Module...
  2. Video: Methods Based on Intensity Discontinuity
  3. Video: Methods Based on Intensity Similarity
  4. Video: Watersheds and K-Means Algorithms
  5. Video: Advanced Methods
  6. Reading: Download the Slides
Graded: Homework 11
In this module we introduce the notion of sparsity and discuss how this concept is being applied in image and video processing. Topics include: sparsity-promoting norms, matching pursuit algorithm, smooth reformulations, and an overview of the applications.  

5 videos2 readings
  1. Reading: In This Module...
  2. Video: Introduction
  3. Video: Sparsity-Promoting Norms
  4. Video: Matching Pursuit
  5. Video: Smooth Reformulations
  6. Video: Applications
  7. Reading: Download the Slides
Graded: Homework 12
How It Works
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from Your Peers
Help from Your Peers
Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
Earn official recognition for your work, and share your success with friends, colleagues, and employers.
Northwestern University
Northwestern University is a private research and teaching university with campuses in Evanston and Chicago, Illinois, and Doha, Qatar. Northwestern combines innovative teaching and pioneering research in a highly collaborative environment that transcends traditional academic boundaries.


Popular posts from this blog

An Introduction to Interactive Programming in Python (Part 1)

About this course: This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. In part 1 of this course, we will introduce the basic elements of programming (such as expressions, conditionals, and functions) and then use these elements to create simple interactive applications such as a digital stopwatch. Part 1 of this class will culminate in building a version of the classic arcade game "Pong".
Who is this class for: Recommended Background - A knowledge o…

Introduction to Data Science in Python

About this course: This course will introduce the learner to the basics of the python programming environment, including how to download and install python, expected fundamental python programming techniques, and how to find help with python programming questions. The course will also introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the DataFrame as the central data structure for data analysis. The course will end with a statistics primer, showing how various statistical measures can be applied to pandas DataFrames. By the end of the course, students will be able to take tabular data, clean it,  manipulate it, and run basic inferential statistical analyses. This course should be taken before any of the other Applied Data Science with Python courses: Applied Plotting, Charting & Data Representation in Python, Applied Machine Learning in Python, Applied Text Mining in Python, Applied Social Ne…

Learn to Program and Analyze Data with Python

About This Specialization This Specialization builds on the success of the Python for Everybody course and will introduce fundamental programming concepts including data structures, networked application program interfaces, and databases, using the Python programming language. In the Capstone Project, you’ll use the technologies learned throughout the Specialization to design and create your own applications for data retrieval, processing, and visualization. Created by: 5 courses Follow the suggested order or choose your own. Projects Designed to help you practice and apply the skills you learn. Certificates Highlight your new skills on your resume or LinkedIn. Courses