Project – realtime mosaic | Computer Science homework help

Background

Imaging devices have infiltrated every corner of modern life. They are omnipresent in multiple forms such as photographic cameras, security cameras, and mobile phones. Not only do these devices digitally document the life of the user, they also capture other individuals nearby. People can feel uncomfortable about losing control over their pictures, and there are serious privacy implications due to the massive publication of private pictures and other information along with them. Many face recognition systems have been built to automatically identify the face region on an image. However, none of them can achieve one hundred percent accuracy, especially when the face region has very low resolution or the image has poor quality. So to make sure privacy protection, it still requires necessary user’s manual input. For example, the Google street view, it still requires user’s editing to block all the passenger’s face. 

Don't use plagiarized sources. Get Your Custom Essay on
Project – realtime mosaic | Computer Science homework help
From as low as $5/Page
Order Essay

In this project, you will implement an efficient and easy-to-use software tool to mask people’s face from camera video streams. The details about this software prototype are as follows:

Steps  (1) Load video from your laptop webcam by using OpenCV.  (2) The program allows user to select a target region via mouse button-down, dragging, and button up operations. The position where the mouse left button down occurs is recorded as the first corner of the rectangle region. Then the user holds the button and drags the mouse to a new location. During the dragging, user can see a dynamic rectangle (e.g red color) rendered on the video, indicating user’s selection. After the user releases the left button, mosaic effect is generated permanently based on the user’s selected rectangle region. The two diagonal corners of the rectangle region should locate at the positions where user’s left-button-down and left-button up occur. (3) Pixels inside the rectangular region that defined by the user should be blurred with Mosaic effect. The level of blur depends on the user specified value. For example, you can use an integer variable to store it:  int blur_degree = 5  Here “blur_degree” defines the length of each Mosaic unit square. By default it is 5 pixels in length. So the bigger of the “blur_degree”, the more blur of the selected region. Figure 3 shows a big value for the “blur_degree”:  (4) User can increase the blur level by hitting the keyboard key “i” or “I” and decrease the blur level by hitting the keyboard key “d” or “D”. The way of increasing or decreasing blur level follows the rule below:  a) Increasing Case: when “blur_degree” is less than 5, it increases by 1 each time when the key “i” or “I” is hit; when “blur_degree” is equal to or greater than 5, it increases by 5 each time when the key “i” or “I” is hit;  b) Decreasing Case: when the “blur_degree” is equal to or less than 5 but greater than 1, it decreases by 1 each time when the key “d” or “D” is hit; when “blur_degree” is greater than 5, it decreases by 5 each time when the key “d” or “D” is hit;  (5) During editing, user can remove the blur effect at any time by hitting the key “r” or “R”, just in case the region is not selected properly. Or user can also remove it by a single clicking left button.  (6) After the user finishes editing, the result image should be saved to a local drive with whatever filename by hitting the “s“ or “S” key.    Rubrics  (1) Correct Mouse Callback Functions (20%)  – To select a region on the image, three mouse operations (left-button-down, dragging, left button-up) are required. In your code, I should see some recording operations or variable updates after each mouse left click occurs.  – After the left-button-down, there should be nothing change on the image until the mouse starts being dragged. During dragging, a dynamic rectangle should be drawn on the image.  – After left-button-up, the selected region on the image should be changed with Mosaic blur effect.    (2) Correct Keyboard Callback Functions (10%)  – Press “i” or “I” key to increase the value of “blur_degree”, the selected image region  becomes more blurred.  – Press “d” or “D” key to decrease the value of “blur_degree”, the selected image region  becomes less blurred.  – Press “s” or “S” key to save the result image into a local file.  – Press “r” or “R” key to remove the current editing results and return to the original image.    (3) Correct Mosaic effect on selected pixels (40%)  – This is the main part of this assignment. You should use pixel-wise manipulation to modify the image as we discussed in class. You are not allowed to call any well-defined library or builtin functions to do the bur. Since the selected region may not be always dividable by the “blur_degree”, there could be a margin the blocks inside the region are blurred.    (4) Multiple Blur Regions (30%)  – Your code allows users to select multiple regions for blurring. For example, if there are two areas in the video need to be blurred. Users can select two regions on the window. Then the two regions corresponding contents should be blurred. To simplify the problem, when user use the keyboard to adjust the size of the block. You can let all the blur regions have their “blur_degree” change simultaneously.     Submission  Your project code should be submitted through Isidore online. Suggested materials:  (1) Code file or Source files Only (“.h” or “.c” or “.hpp” or “.cpp”)  Your code files should be in one or some of the above format. If you have more than one files, put them into a folder and compress them in “.zip” or “.rar” format. I do not suggest to submit the whole project as the library files and backup files are usually large.  (2) Document file (“.pdf” or “.doc” or “.docx”)  Provide a simple document including:  – Your resulting images (no more than 10 images, you can include some other images)  – If your project requires special configuration or additional header files, please provide a short paragraph describing it.

Place your order
(550 words)

Approximate price: $22

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more
Confirm Eligibility