Home

Zoom info:  This course will be taught in-person in SN014.  However, given the uncertainty due to the Covid-19 pandemic, there may arise a situation in which one or more of us are unable to physically attend a class session because of isolation/quarantine requirements.  In those situations, we will attempt to accommodate remote attendees live via Zoom, but there is no guarantee that would work well.  The instructor’s attention will primarily be focused on in-person attendees.  The Zoom option is to be used only in rare cases (primarily for health-related reasons).  If you need to join the class remotely, you must either obtain prior instructor approval or, if there is not sufficient time to do so, offer an explanation promptly afterward.  Use the following Zoom meeting ID/URL for any and all remote meetings for this class (lectures, remote office hours, etc.): https://unc.zoom.us/j/98426458138

  • Click for more details in case of problems
    • Be sure to log in to Zoom using the UNC single-sign on)
    • If you have trouble joining the meeting, you are likely logged in to Zoom using a non-UNC account.  If so, you must first sign out, and then sign in using your UNC Onyen.
    • To join the meeting, do one of the following:
      • Point your browser to unc.zoom.us (with the “unc” prefix).  You will see this.  Sign in using your Onyen.
      • Or, point your browser to zoom.us (without the “unc” prefix) or log in via the Zoom app.  You will see this or this.  Click “Sign in with SSO”, and enter the “unc” prefix (see this).  Sign in using your Onyen.

ASSIGNMENTS / PROJECTS

There will be 8-10 assignments and one final project.  Most of the assignments will involve using an image processing library and tool (Matlab).  In some cases source images will be provided; in others, you will capture or acquire your own images.

  1. Getting Started (due Wed Aug 24)
    • This assignment has two parts, to be submitted via Sakai.  Detailed instructions will be available on Sakai (look under Assignments).
    • Part A:  Learning MATLAB
    • Part B:  Dolly Zoom / Vertigo Effect
      • Make a video  (using a camera or smartphone) that includes the Dolly Zoom effect.  Instructions explained in class.
  2. Matlab Practice (due Wed Aug 31)
    • Assignment 2 consists of a good collection of Matlab exercises to be completed and submitted online.
    • You will access it via the grader.mathworks.com portal (Matlab Grader).  See your email for an invitation to join this course on the portal.
  3. Basic Pixel Processing: Image Adjustments (due Fri Sep 9, 11:45 pm)
    • Assignment 3 is available online, through the  Matlab Grader portal.
    • Please first watch this video tutorial:  Playing with Images in Matlab [recording]
    • Tip:  In order to practice with images, it would be helpful to install Matlab on your computer:
  4. Basic Filtering and Art Filters (due Thu Sep 15, 11:45 pm)
    • Assignment 4 is available online, through the  Matlab Grader portal.
    • Please first watch this video tutorial:  Playing with Images in Matlab [recording]
    • Tip:  It would be highly useful to first develop your code and practice with images on the desktop app version of Matlab on your computer.
  5. Image Blending Using Pyramids (due Wed Sep 21, 11:45 pm)
    • Assignment 5 is available online, through the Matlab Grader portal.
    • Please first review the lectures on pyramids.
  6. Synthetic Bokeh (due Wed Sep 28 Thu Sep 29, 11:45 pm)
    • Assignment 6 is available online, through the Matlab Grader portal.
  7. Hybrid Images (due Wed Oct 5 Fri Oct 7, 11:45 pm)
    • Assignment 7 is available online, through the Matlab Grader portal.
    • Please first review the lecture on frequency domain representation.  Also, the associated video tutorial is now available [recording].
    • NOTE:  Deadline changed to Fri Oct 7 because of the disruption caused by Hurricane Ian.
  8. Dot Mosaics (due Fri Oct 14, 11:45 pm)
    • Assignment 8 is available online, through the Matlab Grader portal.
  9. Template Matching: Colorizing the Prokudin-Gorskii Collection (due Wed Oct 26, 11:45 pm)
    • Assignment 9 is available online, through the Matlab Grader portal.
    • NOTE:  This assignment is due Oct 26.  This is the last assignment before the final projects.
  10. Final Project
    • The final project is available online, through the Matlab Grader portal.  There is a menu of problems, from which you will choose ONE.
    • Resources for individual problems:
    • Due dates:
      • Submitting Project Code (via Grader):  Wed, Nov 30, 11:45pm (LDOC)
      • Submitting Presentation Video (via Grader + Sakai):  Wed, Nov 30, 11:45pm (LDOC)
      • Completing Peer Reviews (via Sakai):  Fri, Dec 9, 12-3pm (end of final exam time)

LECTURES

  1. Introduction (Aug 15, 17)
  2. How we see (Aug 22, 24)
  3. Pixels and Filtering (Aug 29, 31) [recording part 1] [recording part 2]
  4. Tutorial:  Playing with Images in Matlab [recording]
  5. More Pixel Processing:   Gradients and Pyramids (Sep 7, 12)
  6. Image Blending and Compositing:  Using Pyramids (Sep 12, 14)
  7. Image Blending and Compositing:  Poisson Blending (Sep 19)
  8. Frequency Domain (Sep 21, Sep 28)
  9. Tutorial:  Fourier Domain (Oct 3) [recording]
  10. Image Warping (Oct 3, 5)
  11. Morphing (Oct 10)
  12. Template Matching:  Colorizing the Prokudin-Gorskii Collection (Oct 12)
  13. Image Growing:  Texture synthesis and transfer (Oct 17)
  14. Cutting:  Finding Seams and Boundaries (Oct 24)
  15. Software HDR (Oct 26, 31)
  16. Mosaics (Nov 2)
  17. Panoramas (Nov 7, 9)
  18. The Camera (Nov 9, 14)
  19. Sensors Basics, and HDR Sensing (Nov 14, 16)
  20. My Research:  Event-Based Imaging (Nov 21, 28)
  21. Wrap Up (Nov 30, last day of classes)

Fall 2022 Course Website