I run the function cv :: warpPerspective () on the image and in order to get the position of some points of the image of the result that I get in the original image, this is how far I came:
int main (){ cv::Point2f srcQuad[4],dstQuad[4]; cv::Mat warpMatrix; cv::Mat src, dst,src2; src = cv::imread("card.jpg",1); srcQuad[0].x = 0; //src Top left srcQuad[0].y = 0; srcQuad[1].x = src.cols - 1; //src Top right srcQuad[1].y = 0; srcQuad[2].x = 0; //src Bottom left srcQuad[2].y = src.rows - 1; srcQuad[3].x = src.cols -1; //src Bot right srcQuad[3].y = src.rows - 1; dstQuad[0].x = src.cols*0.05; //dst Top left dstQuad[0].y = src.rows*0.33; dstQuad[1].x = src.cols*0.9; //dst Top right dstQuad[1].y = src.rows*0.25; dstQuad[2].x = src.cols*0.2; //dst Bottom left dstQuad[2].y = src.rows*0.7; dstQuad[3].x = src.cols*0.8; //dst Bot right dstQuad[3].y = src.rows*0.9; warpMatrix =cv::getPerspectiveTransform(srcQuad,dstQuad); cv::warpPerspective(src,dst,warpMatrix,src.size()); cv::imshow("source", src); cv::imshow("destination", dst); cv::warpPerspective(dst,src2,warpMatrix,dst.size(),CV_WARP_INVERSE_MAP); cv::imshow("srouce 2 " , src2); cv::waitKey(); return 0;
my problem is that if I select a point from dst , then how can its coordinates be obtained in ** src or src2 **, since the function cv :: warpPerspective t take cv :: Point as a parameter ??
source share