CO3343 Computing art and image effects
Coursework assignments 2013–2014
Coursework assignment 2
Non-Photorealistic Rendering (NPR) [1,2] is an area of computer graphics that aims
at creating images and animations inspired by art rather than depicting realism. In the
past few years a plethora of computer games [3,4] have been developed using such
techniques. NPR has also found application in films, where software tools, such as
Rotoshop [5,6] and Disney’s ‘Deep Canvas’  have been developed to assist
A. (30 per cent in total) (guideline 800 words, plus illustrations)
a. (10 per cent)
Give a brief overview of NPR and contrast the cases where the input
includes 3D information versus a solely 2D input, such as an image.
Explain which one is easier to achieve in a fully automatic manner and
justify your answer.
b. (20 per cent)
Choose a film of your preference that makes use of NPR techniques.
Briefly describe the selected work, using appropriate illustrations (make
sure to include references). Outline the methodology that was followed in
its production with regard to the use of NPR. Compare what has been
written about the perceptual and emotional effects of the film and present
your own, justified, opinion.
As always, make sure that you cite your sources correctly in-text and give full details
in your reference list.
B. (5 per cent) (guideline 100 words – not including code listings – plus illustrations)
Find and present a photographic image that you like and that is suitable for use in the
experiments in the next section. Briefly explain what attributes of the image makes it
suitable for illustrating effects of your experiments.
C. (45 per cent) (guideline 600 words – not including code listings – plus illustrations)
A simple cartoon-like NPR effect, with bold edges and large regions of constant color,
could be achieved automatically by applying two processes:
(i) edge detection (that is, finding locations of high contrast in the image that
are likely to form the boundaries of objects); and
(ii) colour quantisation (that is, the reduction of the number of colours used
to represent the image).1
Some examples of such techniques are discussed in section 5.2 of the subject guide.
Write a Processing program that produces a cartoon-like NPR effect on images and
illustrate the results on the chosen image. Describe the methodologies you devised
for (i) and (ii) and compare them to other techniques. Investigate the effects of a
range of parameters that dictate: (a) the sensitivity of edge detection; and (b) the
number of colours used. Make your software interactive so that these parameters are
controlled by the mouse position (vertical and horizontal respectively) and so that
pressing the spacebar key saves a screenshot of the result. Explain your choices of
values and discuss how the variation affects the result. Comment on the quality of
the result and suggest possible ways of improvement.
In your submission, provide a listing of any code you develop, with your own
contributions highlighted and an attribution for the remaining code (such as that taken
from the subject guide). Please make sure to provide references for any code that
you have not developed yourself.
D. (20 per cent) (guideline 300 words – not including code listings – with illustrations)
Modify the code of part D so that it achieves the same effect on video. Apply it on a
short (no more than 30 seconds) video clip of your choice, which you should include
in your submission. In your report, provide screenshots from the processed video and
comment on the achieved effect. Describe the software modifications that you made
and suggest possible improvements.
Submit your coursework as a .pdf file; include listings of the software you write. You
should also upload all source code files that you have developed for this coursework
assignment, with instructions (as comments in the source files, or as a separate
‘readme’ file) on how to compile them.
1 More accurately a partitioning (segmentation) of the image into meaningful contiguous
regions of pixels is required followed by assigning each region a constant colour. Colour
quantisation is essentially viewed here as a simple way to achieve this effect.