In /p/imagedb/video/day_and_night_video are 466 jpeg images taken every 15 minutes from my window between about 12:24 PM, Thursday,\ Jan. 15, 2004, and 8:40 AM Tuesday, Jan. 20, 2004. Your job is to develop a program capable of determining whether an image represents a day or night scene, test it on all 466 images, and analyze the results. You should particularly comment on what happens in the twilight instances, and what is a sensible/useful way to handle the situation. If you use a learning procedure, you must use separate test and training sets.
Hand in a well-written description of your approach, along with complete results and analysis, highlighting any instances that you believe represent errors. You can present results using "run-length encoding" (e.g. "images 001 - 057 were classified as 'day' " ) to be more compact. Do not hand in source code; however provide a pointer to an executable that the TA or I can run to verify your results.
This should not be a difficult image processing problem. The main point of the assignment is to get you familiar with the basic image processing software available in the lab for reading, saving, and processing images (e.g. the ipp libraries). There is a program, xshow_video in my bin (~nelson/bin/PCLinux) which will display the images in the directory as a video. You might want to put my bin on your path, as there are a number of useful programs in there. You can look at the source for this to see how to load images from disk into the ipp in-core format, and display them on the screen. The source is in ~nelson/programs/src/ipp/graphics/bin. The program calls various library routines. DO NOT compile your own versions of these libraries. They are archived in ~nelson/programs/lib/PCLinux. You can look at the make file to see how the libs are accessed.
Other useful programs are xshow, which displays individual images; bt_showlive, which displays a live image of what the camera is seeing, and allows you to save images, and also video with the right options; camera_demo, which allows you to control the camera from the keyboard; and image_calc, which lets you interactively apply a wide variety of processing routines to an image and view the results. The source code for image_calc provides a good illustration of how to use most of the routines in the ipp libaries. It is in ~nelson/programs/src/integrated/bin.
Also note that I have a program running on my web site that
determines day and night, in addition to other information.
You are welcome to look at the description of the program if
you need ideas, but the approach is probably overkill for this
assignment. You are not encouraged to use the code for that
program. Write your own. The technique used is subtle enough that
I would probably recognize my own code, even if heavily modified.