add new function to do calibration using 2D image

include nornal ways and improved accuracy