CS 4 Computer Science Bootcamp
CS 4 Computer Science Bootcamp
In this lab, you will experiment with several image and pixel
functions, such as making an image grayscale and halving or
doubling an image.
You will be using the Python module cImage.py,
which we studied in class. "Right-Click and Save"
this module to a folder on your desktop. Also, I wrote several
functions for you to use, which are all found in a single
program file test.py.
Save this file into the same folder.
I also have three images for you to experiment:
Save these images into the same folder as well.
You may also experiment with your own images, however
they need to be GIF files.
The module cImage.py comes (built-in) with the following image and
- im1 = FileImage("leo1.gif"): This function creates an abstract link
to the image file "leo1.gif" and represents it in the program as "im1".
- im2 = EmptyImage(n,m): This function creates an empty image data
structure, which is of size nxm.
- n = im1.getWidth(): This function returns the width (the number
of columns) of the image "im1".
- m = im1.getHeight(): This function returns the height (the number
of rows) of the image "im1".
- mywin = ImageWin("Test",n,m): This function creates a window of
size nxm to draw images. The title of the window is "Test".
- im1.draw(mywin): This function draws the image "im1" inside the
window "mywin" starting from the left-top corner. If the image is
smaller than nxm, the rest of the window will be empty. If the image
is larger, it will be clipped.
- im1.save("new.gif"): This function saves the image "im1" into the
- p = im1.getPixel(i,j): This function receives the pixel in the
(i,j) location of the image "im1" and places it in the pixel variable "p".
- im2.setPixel(i,j,p): This function places the pixel p in the
(i,j) location of the image "im2".
- r = p.getRed(): This function returns the red intensity of the
- g = p.getGreen(): This function returns the green intensity of the
- b = p.getBlue(): This function returns the blue intensity of the
The first 3 lines of the test program "test.py" contains
statements to import the "cImage.py" functions to your
development platform in order to use them.
from cImage import *
Change the file path from above to the one you will be using.
The test program "test.py" has several functions in it.
You will be experimenting with them in order to learn how they work.
After applying these functions,
draw or save the produced images and check to see if they
accomplish what they are intended to do.
- im2 = MakeGrayImage(im1): receives the image im1 with an arbitrary
size of nxm, and returns im2 which is the grayscaled image of im1.
- im2 = MakeNegativeImage(im1): receives the image im with an arbitrary
size of nxm, and returns im2 which is the negative image of im1.
- im2 = MakeHalfImage(im1): receives the image im1 with an arbitrary
size of nxm, returns im2 which has the size of (n/2)x(m/2).
- im2 = MakeDoubleImage(im1): receives the image im1 with an arbitrary
size of nxm, returns im2 which has the size of (2n)x(2m).
This lab does not require a report. A demo to the TA is sufficient.