//。
int main()
{
//1.原图像。
Mat src = imread("马车2.jpg");
resize(src, src, Size(), 0.2, 0.2);
imshow("效果图",src);
//2.准备参数。
Mat mapx(src.size(),CV_32FC1);
Mat mapy(src.size(),CV_32FC1);
//3.对mapx和mapy进行赋值。
for (int i = 0; i < src.rows; ++i)
{
for (int j = 0; j < src.cols; ++j)
{
mapy.at<float>(i, j) =static_cast<float>(src.rows-i);//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx浮点数。
mapx.at<float>(i, j) = static_cast<float>(j);//xxxxxxxxxxxxxxxxxxxxxxxxxxx注意x,y的的对应关系,点的坐标和图像的at(x,y)是相反的。
}
}
//4.调用remap函数。
Mat dst(src.size(),src.type());
remap(src,dst,mapx,mapy,CV_INTER_LINEAR);
//5.show
imshow("结果",dst);
waitKey(0);
return 0;
}
简单的remap变换,重投影
最新推荐文章于 2023-07-26 14:47:28 发布