Input: A pair of rectified images and from different viewpoints of one scene;
     Set the values of ratio, , and .
Output: The disparity map with respect to .
Begin:
Step 1. Finding initial point correspondences by using state-of-the-art matching method;
Step 2. Using the mean-shift to partition the image to different areas denoted as: ;
Step 3. Assigning the points into the corresponding area ;
Step 4. Removing the coarse mismatches in the area by using regional affine transformation;
Step 5. Computes gradient of each pixel in the image and selects the pixels
   whose gradient as our candidate feature points;
Step 6. Assign each feature to a corresponding label ;
Step 7. The first step for the matched feature expansion
  Repeat:
  for: : size()
    ensure via to: ;
    find a set of samples , where ;
    if: size
     compute the point by estimation model via cross ratio;
    end if
  end for
  Until is empty
Step 8. The second step expansion by using a regular seed-growing method
Step 9. Obtain dense disparity map by using fitting process or synthesized method
Algorithm 1: Two-step expansion algorithm.