Corners are stored as cv::Matx<float,4,2>

...instead of std::vector<cv::Point2f>
individual points can be read with the .row() method of Matx.
cv::Mat_<cv::Point2f> is a convenient wrapper to modify the corners pointwise