# LAB: Magic Cloak

## LAB: Color Image Segmentation - Magic Cloak

## I. Introduction

**Goal**: Invisible Cloak

The goal of this project is to create a basic OpenCV program that makes a person wearing a cloak appear invisible.

This is done by detecting the cloak based on its color and replacing it with the background image, so it looks like the person disappears.

The program uses simple image processing techniques like color detection, masking, and background subtraction to achieve this visual effect. This project helps demonstrate how computer vision can be used to create optical illusions and can be a starting point for more advanced augmented reality systems.

### Sample 1

First, work on the given sample video.

[Download the sample video](https://github.com/ykkimhgu/DLIP-src/blob/main/images/LAB_MagicCloak_Sample1.mp4)

### Sample 2

Then, create a new short video (<10 sec) of yourself that makes you disappear behind a simple screen.

* Similarly, you can also make the background disappear by using a plain color background.

Upload only Sample 2 video on Youtube.

## II. Procedure

* Design algorithms for the given mission
  * Include a flowchart to explain the algorithm flow.
* You should apply image processing algorithms, which you have learnt in class, as much as possible.
* If you want to use other algorithms that were not covered in class, then you should briefly explain how that algorithm works.
* Work on Sample #1. You should explain and show each necessary step including
  * Pre-Processing (filtering etc)
  * Color Segmentation
  * Masking
  * Merging Images and more
* Work on Sample #2.
* Here, you can only show the final output image results in the report.
* Also, create a short demo video ( about 10sec) and upload online.
* You need to make the appropriate title page in the demo video
  * Showing Class name, date, student name, title etc

### Output Examples

#### Examples:

<figure><img src="https://3883264845-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MR8tEAjhiC8uN1kHR2J%2Fuploads%2Fz9WIwbyfzHEaBzyl18eV%2Fimage.png?alt=media&#x26;token=91f714cc-b785-4f92-acc4-04cfa913615b" alt=""><figcaption></figcaption></figure>

## III. Report

You are required to write a concise lab report and submit the program files.

First, [read LAB Report Instruction](https://ykkim.gitbook.io/dlip/image-processing/lab/lab-report-instruction)

#### Lab Report:

* Use the given Lab Report Template
* Show what you have done with concise explanations and example results of each necessary process
* In the appendix, show your source code.
* You must write the report in markdown file (\*.md),
  * Recommend (Typora 0.x < 1.x) or Notion
  * When embedding images

    > Option 1) If you are using local path images: You must include local image folder with the report in zip file
    >
    > Option 2) Use online link for images.
* Submit in both PDF and original documentation file/images

#### Source Code:

* Zip all the necessary source files.
* Only the source code files. Do not submit visual studio project files etc.

#### Demo Video:

* Only Sample #2 Video
* For this case, no need to show the process in the video. Just the final output demo.
* For making the title page, refer to other demo videos in the class's youtube channel: [IILAB YOUTUBE](https://www.youtube.com/channel/UCbqlYFv4Ag01rmWbIfQUsHw)&#x20;

## TIP

1. **Read about** [**Masking with Bitwise Operation**](https://ykkim.gitbook.io/dlip/image-processing/image-processing-notes/masking-with-bitwise-operation)
2. Similar Demo Video:  <https://youtu.be/YLnP2Ge65MU?si=QTzyMdxFGCXCynSG&t=27>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ykkim.gitbook.io/dlip/image-processing/lab/lab-color-image-segmentation/lab-magic-cloak.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
