admin管理员组文章数量:1567918
一、获取透视变换矩阵函数GetPerspectiveTransform
CV_EXPORTS Mat getPerspectiveTransform(const Point2f src[], const Point2f dst[], int solveMethod = DECOMP_LU);
-
参数 src 源图像四边形顶点坐标.
-
参数 dst 目标图像对应的四边形顶点坐标.
-
参数 solveMethod 传递给cv::solve(#DecompTypes)的计算方法,默认是DECOMP_LU
注:此时得到的是一个矩阵(透视变换矩阵)
二、透视变换函数warpPerspective
-
参数:src 输入图像。
-
参数: dst 输出图像,具有Size dsize并且和源图像具有相同的类型 .
-
参数: M 3*3的转换矩阵.
-
参数: dsize 输出图像的大小.
float w = 250, h = 350;
int main() {
string path = "C:\\Users\\Rong\\Desktop\\Resources\\cards.jpg";
Mat Img = imread(path);
//两个Point2f的数组!
//注意一下src和dst的顺序要一致!
Point2f src[4] = { {743,384},{1021,435},{965,783},{648,710} };
Point2f dst[4] = { {0,0},{w,0},{w,h},{0,h} };
Mat matrix,ImgWarp;
matrix = getPerspectiveTransform(src, dst);
warpPerspective(Img, ImgWarp, matrix, Size(w, h));
for (int i = 0; i < 4; i++) {
circle(Img, src[i], 10, Scalar(0, 0, 255), FILLED);
}
imshow("Image", Img);
imshow("Image Warp", ImgWarp);
waitKey(0);
}
本文标签: OpencvWarpperspective
版权声明:本文标题:opencv学习 Warp Perspective 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1725894389a1047452.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论