OVERVIEW & PURPOSE
- The goal of the assignment is to introduce you to several computer vision tasks and the use of OpenCV package.
- You need to upload a pdf and a jupyter notebook file containing
- The report
- The code that you wrote
- The input images/videos (if file too large provide link to google drive)
- The output images/videos (if file too large provide link to google drive)
- The file should be uploaded in the moodle portal.
- Include the assignment number, your name and roll number at the top-right of the first page of your submission.
- Make sure that the assignment that you submit is your own work. Any breach of this rule could result in serious actions including an F grade in the course.
- The experiments and report writing takes time. Start your work early and do not wait till the deadline.
- INSTALLING OPENCV
The first step of doing this assignment is to install the OpenCV package on your computer. OpenCV is an open source library for developing computer vision applications. Please see: http://opencv.org for details of both installation and usage of the library. OpenCV has Linux, Windows and Mac versions available. Note that the compilation of the library from the sources would take a few hours. Make sure you installed the required libraries before compiling and installing OpenCV. Test your installation with a basic program to read write and modify an image. In linux, opencv is readily available through the built in software installation utilities. The primary goal of the assignment is the learning you get from writing the code and experimenting with various factors. So do write a detailed account of the various experiments and your learnings in your report. For this assignment, you are expected to write C/C++/python code for the tasks described in Section 2
TASKS
Chroma Keying with OpenCV
- Video ↔ Images: Write a program to convert a given video to its constituent images. Your output should be in a specified folder. Write another program that will merge a set of images in a folder into a single video. You should be able to control the frame rate in the video that is created.
- Capturing Images: Learn how to capture frames from a webcam connected to your computer and save them as images in a folder. You may use either the built-in camera of your laptop or an external one connected through USB. You should also be able to display the frames (the video) on the screen while capturing.
- Chroma Keying: Read about the technique of chroma keying. Following are a few good starting points:
- Introduction: http://en.wikipedia.org/wiki/Chroma key
- Alvy Ray Smith and James F Blinn, Blue Screen Matting, SIGGRAPH96.
Create an interesting composite of two videos using this technique, possibly with one video including yourselves.
ADDITIONAL PROBLEMS
Face detection on a set of images
- Video <-> Images: Write a program to convert a given video to its constituent images. Your output should be in a specified folder. Write another program that will merge a set of images in a folder into a single video. You should be able to control the frame rate in the video that is created.
- Capturing Images: Learn how to capture frames from a webcam connected to your computer and save them as images in a folder. You may use either the built-in camera of your laptop or an external one connected through USB. You should also be able to display the frames (the video) on the screen while capturing.
- Face detection: Read about the technique of face detection. Create a video of that integrates the face detected in frames using bounding box using this technique possibly with one video including yourselves. Use image difference to divide a video into shots
- Video <-> Images: Write a program to convert a given video to its constituent images. Your output should be in a specified folder. Write another program that will merge a set of images in a folder into a single video. You should be able to control the frame rate in the video that is created.
- Capturing Images: Learn how to capture frames from a webcam connected to your computer and save them as images in a folder. You may use either the built-in camera of your laptop or an external one connected through USB. You should also be able to display the frames (the video) on the screen while capturing.
- Dividing video into shots: A shot is composed of a number of frames that are presented from a continuous viewpoint. Create a folder with multiple video, each video forming part of a single shot also perform the experiment on a video that includes you.
- Source to understand better https://stackoverflow.com/questions/5317744/what-is-the-best-way-to-divide-a-vide o-into-scenes-segments
REQUIREMENTS
- openCV
- python/C/C++
- Dataset of images and videos to be prepared by you
Reviews
There are no reviews yet.