|
|
CPSC 404 / 604
Section
001
Computer Graphics Images
Fall 2011
Tu/TH 11:00 -
12:15, McAdams 114, 3 credits
|
Professor: Donald H. House
office:
319 McAdams Hall, phone: 656-2844
email:
dhouse at clemson dot edu, hours: 4:00
- 5:00 Tu/Th
TA: Liang Dong
office: 304A McAdams
email: ldong at clemson dot edu,
hours: 1:00-3:00 M/W
|

Images courtesy of Sungkye Lee
|
| Web Page:
http://cs.clemson.edu/~dhouse/courses/404 |
|
Introduction
The
theory
and
practice behind the generation, and manipulation of
two-dimensional digital images within a computer graphics context.
Topics include image representation and storage, sampling and
reconstruction, color systems, affine and general warps,
enhancement and morphology, compositing, morphing, and
non-photorealistic transformations.
Digital images
have the advantages over any other form of image of lossless
storage, transmission, and retrieval. Their form enables
generation, manipulation, and display within a computing
environment, and they provide a natural syntax for image
representation that pervades the world of computer graphics and
visualization. An understanding of the nature, form, and
technology of the digital image is essential to anyone who will be
making use of these images in their academic or professional
career.
Prerequisites
CP SC 212 and MTHSC 311, or DPA 401, or permission of
instructor
Course
Objectives
This course
will provide a thorough grounding in the state of the art in the
treatment of digital images, particularly within the context of
computer graphics, and digital effects. It is designed to prepare
students to
- understand existing systems for storage, display,
transformation and manipulation of digital images
- write their own software for working with digital images
- undertake creative work and research involving digital images
Students
read, discuss, and are tested on hand-out material, and complete a
series of exercises on the computer. Most of the exercises involve
programming and making use of graphics libraries.
Programming
Projects
Most homework projects involve
programming in C++ and require the use of graphics
libraries. Work may be done on any computer supporting C++,
and the OpenGL, and GLUT API's. However, before
turning in an assignment, the program must be compiled and
tested under the School of Computing Ubuntu distribution of the linux operating system, and a
working Makefile must be
provided.
In order to turn in programming projects, all students will need
to use their computer science account. All students enrolled in
CS courses are automatically assigned CS accounts. You will need
to login early in the semester to change your password, or the
account may be expired. If you have problems logging in, send an
email to helpdesk@cs.clemson.edu from your Clemson email
account, or stop by 109 McAdams with a picture ID.
Text and
Handout Materials
- Donald House, The Digital Image,
Course Notes
- Other handout materials linked to on the course schedule page.
Reference
Reading Material
- Brinkmann, The Art and Science of Digital Compositing,
Morgan Kaufmann, 1999
- Foley, Van Dam, Feiner and Hughes, Computer Graphics
Principles and Practice, Addison Wesley, 1990.
- Gomes and Velho, Image Processing for Computer Graphics,
Springer-Verlag, 1997.
- Gonzalez and Woods, Digital Image Processing, Addison
Wesley, 1992
- Sayood, Introduction to Data Compression, Morgan
Kaufmann, 1996
- Wolberg, Digital Image Warping, IEEE Computer Society
Press, 1990
- Shreiner, Woo, Neider and Davis, OpenGL
Programming Guide, The Official Guide to Learning
Opengl, Version 1.4, 4/E, Addison Wesley
Course Outline
- The Fundamental Nature of Digital Images
- sampling
- point spread
- reconstruction
- Digital Representation and Display of Images
- bitmaps and pixmaps
- framebuffer hardware
- CRT displays
- color and color spaces
- color lookup tables
- gamma correction
- color manipulation techniques
- Archival Storage of Images
- image file formats
- conversion between formats
- compression schemes
- Compositing
- alpha channel and opacity
- image combination operations
- bluescreening
- Filtering Algorithms
- convolution filters
- morphological operators
- Image Warping
- general image maps
- forward warp
- inverse warp
- affine warps
- projective warps
- bilinear warp
- Sampling, Filtering and Reconstruction
- sampling and the aliasing problem
- spatial convolution filtering techniques
- resampling and the reconstruction problem
- reconstruction techniques
- General Warping and Morphing Algorithms
- scanline warp algorithm
- morphing as warp + compositing
- feature based morphing algorithms
- Frequency Domain Representation of Images
- the sampling theorem
- ideal vs. practical filtering
- repair of images
- Advanced Topics (time permitting)
- lossy image compression (JPEG and wavelet)
- High dynamic range images
Performance
Evaluation
Undergraduates:
Grading will be
based on performance on the set of eight programming projects,
the class project, ten quizzes, the final exam, and class
participation, using the following percentage distribution:
- Programming Projects: 40%
- Class Project 10%
- Quizzes: 30%
- Final Exam: 10%
- Class Participation: 10%
Graduate students:
Each programming
project will include an extension involving advanced concepts.
Completion of all regular requirements and this extension, on
each assignment, is required for graduate students. Grading will
be based on performance on the set of eight programming
projects, eight advanced project extensions, ten quizzes, the
final exam, and class participation, using the following
percentage distribution:
- Programming Projects: 25%
- Advanced Project Extensions: 15%
- Class Project 10%
- Quizzes: 30%
- Final Exam: 10%
- Class Participation: 10%
Programming projects:
All eight programming projects and the class project will
involve developing computer graphics software in C++, using the OpenGL and GLUT API's. To be on
time, work must be submitted before midnight of the due date. A late penalty of 1/2 point will be applied
for each of the first seven days that a project is late. No
project will be accepted beyond seven days from the due
date.
Homework problems and extensions will be graded using the
following scheme:
- 10 Meets requirements for
grade of 9, but is unusually distinguished by elegance and
efficiency of design and implementation
- 9 Meets
requirements for grade of 8, and has a well thought out
design and implementation
- 8 Meets all basic
requirements, as determined by program execution
- 7 A solid effort,
meeting most basic requirements but has some errors or
shortfalls, as determined by program execution
- ...
- 0 Completely
unsatisfactory, or not submitted, or submitted beyond the
seven day late window
The
final programming project average will be computed by averaging
the student's eight project scores.
The class project will be graded on a 100 point scale, and will be
based on the instructors judgement. Grading will include:
difficulty level, successful completion, code organization, and
presentation quality. A late penalty of 5 points will be applied for each
of the first seven days that the project is late. No project
will be accepted beyond seven days from the due date.
Quizzes: Each Quiz will
have two questions and will be take home. Quizzes must be
submitted by the start of class on the due date, and the class
will begin by a discussion of the quiz problems. No
quizzes will be accepted after the start of class on the due
date. Quizzes will be graded as follows:
- 4 Both questions
answered correctly
- 3 One question answered
correctly, one question partially correct
- 2 One questions
answered correctly, or both questions partially correct
- 1 One question
partially correct
- 0 Not a reasonable
effort or not submitted
Quiz
scores are interepreted as follows: 4 => 100, 3 => 87, 2
=> 71, 1 => 50, 0 => 0. The final quiz
average will be computed by averaging the student's top eight of
ten quiz scores.
Final Examination: Students
maintaining an average of 8.0 or higher on programming projects,
and 3.0 or higher on quizzes may elect to waive the final exam.
In that case, the grade will be the weighted average of the
remaining 90 points. The exam will be comprehensive. It will
consist of ten short answer and two essay style questions. Short
answers will require at most a short paragraph, code segment,
and/or a figure to answer. Essay questions will require at most
two pages, including accompanying figures, to answer.
Class Participation: The class participation grade is the
instructor's subjective judgement
of the student's contribution to a lively classroom atmosphere.
He will consider mainly active, informed participation in
classroom discussions, quiz and homework reviews. Obviously,
students not attending class are not contributing in this way.
Late Class
Policy
Your
instructor will make every effort to be in class on time, or to
inform you of any delay or cancellation. In the unusual event
that he should not arrive in class or send word by 10 minutes
from the class start time, the class is officially cancelled.
Attendance
Policy
Attendance in class is
optional, but remember that a percentage of the grade is based
on class participation.
No Media Policy
All laptops, and other electronic media are to be
put away during class. Cell phones should be silenced. Use of this
equipment during class distracts you, your classmates, and your
instructor.
Collaboration
Yes, Plagiarism No
In
this course, we want to encourage collaboration and the free
interchange of ideas among students and in particular the
discussion of homework and quiz problems, approaches to
solving them, etc. However, we do not allow plagiarism, which,
as commonly defined, consists of passing off as one's own
ideas, words, writings, etc., which belong to another. In
accordance with this definition, you are committing plagiarism
if you copy the work of another person and turn it in as your
own, even if you should have the permission of that person.
Plagiarism is one of the worst academic sins, for the
plagiarist destroys the trust among colleagues without which
research cannot be safely communicated.
Copyright
Materials in this course
are copyrighted. They are intended for use only by students
registered and enrolled in this course and only for
instructional activities associated with and for the duration of
the course. They may not be retained in another medium or
disseminated further. They are provided in compliance with the
provisions of the Teach Act. Students should refer to the Use of
Copyrighted Materials and “Fair Use Guidelines” policy on the
Clemson University website for additional information: http://www.lib.clemson.edu/copyright/.
Disability
Access
It is University policy to provide, on
a flexible and individualized basis, reasonable accommodations
to students who have disabilities. Students are encouraged
to contact Student Disability Services to discuss their
individual needs for accommodation.
Academic
Integrity
As
members
of the Clemson University community, we have inherited Thomas
Green Clemson’s vision of this institution as a ‘high seminary of
learning.’ Fundamental to this vision is a mutual commitment to
truthfulness, honor, and responsibility, without which we cannot
earn the trust and respect of others. Furthermore, we
recognize that academic dishonesty detracts from the value of a
Clemson degree. Therefore, we shall not tolerate lying,
cheating, or stealing in any form. In instances where academic
standards may have been compromised, Clemson University has a
responsibility to respond appropriately and expeditiously to
charges of violations of academic integrity.
Please refer to the graduate academic integrity policy, approved
March 26, 2007 by the Provost’s Advisory Council, at
http://gradspace.editme.com/AcademicGrievancePolicyandProcedures#integritypolicy
Each graduate student should read this policy annually to be
apprised of this critical information.