2 Designing Camera Obscura
Camera obscura Pinhole
(a) Camera obscura (b) Example design
Figure 1: You will design a camera obscura with your cellphone.
In this assignment, you will design a camera obscura with your cellphone camera. The
camera obscura is a dark chamber (box) with a small pinhole where light is mapped to
the other side of the chamber (screen). This creates an upside-down image.
1. Build a lightproof dark chamber: the chamber will be only illuminated by the
light from the pinhole. Play with different size of chambers if possible. Cover the
screen with a white paper and the rest of insider surfaces with black papers. Be
2. Make a pinhole on the other side of the screen. Start with a small hole (diameter<1mm) and adjust the size of the hole to get more light. Trade-off is that the bigger hole, the brighter image but blurrier. 3. Set the camera focal length to the manual mode (AF→MF) and adjust the focal length to see an object at the distance between the pinhole and the chamber screen. 4. Set the camera sensitivity (>ISO 800).
5. Set the camera exposure time (>8 sec).
6. Make an additional hole where your cellphone camera can look inside. Locate
your cellphone camera close to the pinhole without occluding pinhole. Make sure
this hole is completely light sealed.
7. Take a picture and adjust the pinhole size and camera settings to make better
For an Android phone, you can control the exposure time and sensitivity easily. Camera
FV-5 Lite is an app to grab a long exposure image. For iOS, the exposure control is
highly limited. There are apps that simulate the long exposure effect by taking many
images. This creates a noisy image. You may borrow an Android phone or old digital
camera. You can also refer to the website: http://graphics.cs.cmu.edu/courses/
CSCI 5980: Assignment #1
Note: Lighting is extremely important. Given Minnesota’s weather, it is difficult to
find a nice cloudless day. Plan outside data capture on sunny day ahead.
(1) Describe your design (dimension) with images and your camera setting. Share your
3 Where am I?
(a) Lateral view (b) Camera obscura image (c) Original image
Figure 2: You will your camera obscura to estimate depth.
Using this camera obscura, you will estimate the depth of a 3D object (from pinhole).
You will take a picture containing your two friends (A and B) whom you know their
height in meter where they will stand at different distance from the camera as show in
(1) Given the height of A in meter (HA) and pixel (hA), derive and compute the distance
from A to the pinhole.
(2) Given the height of B in meter (HB) and pixel (hB), derive and compute the distance
from B to the pinhole.
Note: You can measure pixel distance using an image viewer software, e.g., irfanview,
CSCI 5980: Assignment #1
(a) Geometry (b) Image cropping
Figure 3: You will your camera obscura to estimate depth.
4 Dolly Zoom
You will simulate the Dolly zoom effect using your camera obscura. You will take
at least two pictures with different camera locations, e.g., taking 5 step back, ∆d, as
shown in Figure 3(a). A and B will appear smaller than the first image as ∆d >
0. You can apply the zoom-in effect by scaling and cropping the image such that
A appears the same as shown in Figure 3(b). You may find a reference from here:
(1) Predict the height of B in the second image given hB in the first image. Reason
about the prediction. Hint: You may need to compute ∆d with the information in the
(2) Confirm the prediction by measuring the height of B in the second image.
Useful MATLAB functions:
(a) Load image: im = imread(filename).
(b) Save image: imwrite(im, filename).
(c) Resize image: im = imresize(im, scale).
(d) Display image: imshow(im) or imshow(filename).
(e) Measure the distance in image: display the image in a figure, select the data cursor
icon in the figure toolbar, and click on the image to get the coordinates of certain pixels.
Calculate the distance with the pixel coordinates.