Skip to content

groundmelon/intelligent-scissor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Author : QIN Tong Function : Intelligent scissor Cut the image like photoshop, i.e.find some certain coutour on the image, and get the image with coutour and mask. Code: C++ in QT Creator Implementation: Data structures: struct Node{ double linkCost[8]; int state; double totalCost; Node *prevNode; int column, row; ;}

Dijkstra's algorithm:
Begin:

initialize the priority queue pq to be empty;

initialize each node to the INITIAL state;

set the total cost of seed to be zero and make seed the root of the minimum path tree ( pointing to NULL ) ;

insert seed into pq;

while pq is not empty 

    extract the node q with the minimum total cost in pq;

    mark q as EXPANDED;

    for each neighbor node r of q  

        if  r has not been EXPANDED

            if  r is still INITIAL

                make q be the predecessor of r ( for the the minimum path tree );

                set the total cost of r to be the sum of the total cost of q and link cost from q to r as its total cost;

                insert r in pq and mark it as ACTIVE;

            else if  r is ACTIVE, e.g., in already in the pq 

                if the sum of the total cost of q and link cost between q and r is less than the total cost of r

                    update q to be the predecessor of r ( for the minimum path tree );

                    update the total cost of r in pq;

End

use: 1.Load one image; 2.click start; 3.click one point as fisrt seed; 4.move mouse, get the coutour as you want; 5.save image or mask;

other thing;

It's my first cv project in COMP 5212 HKUST. Thanks for prof CK Tang! 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C++ 98.1%
  • QMake 1.9%