ecen5763 Exercise #2 – Familiarity with Linux OpenCV, Camera Interface and Digital Video solution


Original Work ?


5/5 - (3 votes)

1) [10 points] Verify that your ffmpeg or avconv installation on Jetson Linux or equivalent (e.g.
Ubuntu LTS native install on a laptop) is working by taking a video from the Open Source
HD or Big Buck Bunny (Lab-1-and-2-Examples/) and converting the first 100 frames into PPM
or JPEG individual frames. Paste the 100th frame from either into your report (read

2) [10 points] Using GIMP installed on your VB-Linux or Native Linux system, take the 100th
frame from Big Buck Bunny or the Open Source HD and apply Sobel to it using the GIMP
tools – put your transformed frame into your report and describe any options you set or used.

3) [30 points] Test your Native Linux and OpenCV installation with a USB webcam by
downloading video capture examples (capture-viewer, simple-capture, or simpler-capture)
and compare the code for each, try building, and running each and note how each works in
good detail.

Show me a screen dump of a scene from your home lab using the version you
like best. Compute your frame rate using time-stamp information (clock_gettime is best, but
also gettimeofday for example) and provide the average rate, worst-case and jitter for a time
period of 1 minute or more of run time.

4) [30 points] To start exploring OpenCV in more detail, modify the capture-transformer code
so that it displays either Sobel or Canny edge transformations based on a key press of “C” or
“c” for Canny and “S” or “s” for Sobel. Again, compute the frame average rate, worst-case
rate and jitter (+/- frame rate) for both Canny and Sobel test runs. Add code for this analysis
as needed.

[20 points] Overall, provide a well-documented professional report of your findings, output, and
tests so that it is easy for a colleague (or instructor) to understand what you’ve done. Include any
C/C++ source code you write (or modify) and Makefiles needed to build your code and make
sure your code is well commented, documented and follows coding style guidelines. I will look
at your report first, so it must be well written and clearly address each problem providing clear
and concise responses to receive credit.

In this class, you’ll be expected to consult the Linux and OpenCV manual pages and to do some
reading and research on your own, so practice this in this first lab and try to answer as many of
your own questions as possible, but do come to office hours and ask for help if you get stuck.

Upload all code and your report completed using MS Word or as a PDF to Canvas and include
all source code (ideally example output should be integrated into the report directly, but if not,
clearly label in the report and by filename if test and example output is not pasted directly into
the report).

Your code must include a Makefile so I can build your solution on an embedded
Linux system (R-Pi 3b+ or Jetson). Please zip or tar.gz your solution with your first and last
name embedded in the directory name and/or provide a GitHub public or private repository
link. Note that I may ask you or SA graders may ask you to walk-through and explain your

Any code that you present as your own that is “re-used” and not cited with the original
source is plagiarism. So, be sure to cite code you did not author and be sure you can explain it
in good detail if you do re-use, you must provide a proper citation and prove that you
understand the code you are using.