'**SUMMARY**
This method performs and arbitrary perspective transform.
Given a new set of corner points in clockwise order frin top left, return an Image with
the images contents warped to the new coordinates.  The returned image
will be the same size as the original image
**PARAMETERS**
* *cornerpoints* - A list of four tuples corresponding to the destination corners in the order of (top_left,top_right,bottom_left,bottom_right)
**RETURNS**
A simpleCV Image with the warp applied. Note that this operation does not enlarge the image.
**EXAMPLE**
>>> img = Image("lenna")
>>> points = ((30, 30), (img.width-10, 70), (img.width-1-40, img.height-1+30),(20,img.height+10))
>>> img.warp(points).show()
**SEE ALSO**
:py:meth:`shear`
:py:meth:`transformAffine`
:py:meth:`transformPerspective`
:py:meth:`rotate`
http://en.wikipedia.org/wiki/Transformation_matrix'

def warp(self, cornerpoints):

    src = ((0, 0), ((self.width - 1), 0), ((self.width - 1), (self.height - 1)), (0, (self.height - 1)))
    pWarp = cv.CreateMat(3, 3, cv.CV_32FC1)
    cv.GetPerspectiveTransform(src, cornerpoints, pWarp)
    return self.transformPerspective(pWarp)
