Intelligent Scissors

So complicated!(6000C CV project No.1)

Posted by CHEN Yuxiang on February 7, 2018

A.Project Description

Project Details

The project detail is in 6000C Homepage.

Due to the intranet’s limitation, you can click the Washington CSE 455 for temporary reference, which is quite similar.

Fantastic show(automatically extract the hat out)

Develop environment

Develop Environment: Qt5 + Opencv3

Programming language: C++

System: MacOS 10.13

B.General usage

1. Load Picture

You can choose any picture in your computer by selecting in the File Manager.

For example, I open an example picture of Opencv.

2. Choose Mode

For universal Use, we choose Min Path.

3. Start drawing

Now I click start to start drawing.

You can see the two yellow points in the picture are the positions I have clicked. After the first seed is confirmed, we would dynamically demonstrate a min path (Red curve) from the seed point to the current mouse position.

It is obviously that the algorithm would allow the min path go along with the edge of some essential factors in the picture(such as the hat of lena).

4. Undo

We offer the undo function in the drawing. You can click undo to delete the last contour in the Picture. Of course you can click “undo” many times to delete many contour.

5. Finish drawing and Save mask

Now, we finish drawing and save mask to the computer.

Mask:

C.Other Modes

1. Image Only

show original image without contour superimposed on it.

2.Image with Contour

show original image with contours superimposed on it.

3. Pixel Node

Draw a cost graph with original image pixel colors at the center of each 3by3 window, and black everywhere else.

4. Cost Graph

Draw a cost graph with both pixel colors and link costs, where you can see whether your cost computation is reasonable or not, e.g., low cost (dark intensity) for links along image edges.

5. Path Tree

show minimum path tree in the cost graph for the current seed; You can use the counter widget to simulate how the tree is computed by specifying the number of expanded nodes. The tree consists of links with yellow color. The back track direction (towards the seed) goes from light yellow to dark yellow.

D.Small fancy functions

  • zoom in(out)
  • save contour(mask)
  • track the real time position and click position of mouse.

E.Artifact

最后附上GitHub:https://github.com/wsgtcyx/IntelligentScissors