S1.3仿射变换、透视变换、极坐标映射演示

S1.3仿射变换透视变换、极坐标映射演⽰
S1.3 仿射变换、透视变换、极坐标映射演⽰
⽂章⽬录
OpenCV图像变换⽰意表
这⾥列⼀下和变换有关的函数吧。
函数作⽤
transform(src,dst,mtx)稀疏仿射变换
warpAffine()仿射变换
warpPerspective()透视变换
logPolar()对数极坐标变换
仿射变换
dst指数
在opencv中,仿射变换需要变换矩阵。我们可以通过getAffineTransform⽣成。
#include<opencv2/opencv.hpp>
#include<iostream>
#include<cstdio>
using namespace std;
using namespace cv;
int main()
{
Mat src =imread("images/favorite/Lena.jpg",1);
Point2f srcTri[]={
Point2f(0,0),
ls-1,0),
Point2f(0, ws-1)
};
Point2f dstTri[]={
ls*0.f, ws*0.33f),
ls*0.85f, ws*0.25f),
ls*0.15f, ws*0.7f)
};
Mat warp_mat =getAffineTransform(srcTri, dstTri);
Mat dst, dst2;
warpAffine(src, dst, warp_mat, src.size(), INTER_LINEAR, BORDER_CONSTANT,Scalar());
imshow("dst0", dst);
waitKey(0);
return0;
}
透视变换
仿射变换只是透视变换的⼀个特例。
仿射变换能做到平⾏四边形的转化,⽽透视变换能做到任意四边形的转化。
在OpenCV中,我们使⽤getPerspectiveTransform()得到透视变换矩阵,输⼊需要四个点的数组。
#include<opencv2/opencv.hpp>
#include<iostream>
#include<cstdio>
using namespace std;
using namespace cv;
int main()
{
Mat src =imread("images/favorite/Lena.jpg",1);
Mat dst;
Point2f srcTri[]={
Point2f(0,0),
ls-1,0),
Point2f(0, ws-1),
ls-1, ws-1)
};
Point2f dstTri[]={
ls*0.f, ws*0.33f),
ls*0.85f, ws*0.25f),
ls*0.15f, ws*0.7f),
ls-1, ws-1)
};
Mat warp_mat =getPerspectiveTransform(srcTri, dstTri);
warpPerspective(src, dst, warp_mat, src.size());
imshow("warp_Perspecgtive", dst);
waitKey(0);
return0;
}
极坐标映射
对数极坐标(log-polar)类似⼈眼真正捕捉到的图像。它是模仿⽣物视⽹膜(⽐如⼈眼中央⼩凹的成像原理)⽽产⽣的。具体原理是,我们眼球中⼼到四周的分辨率呈指数型下降。
如图,正⽅形在对数极坐标中张这样。
对数极坐标可以做图像匹配。
#include<opencv2/opencv.hpp>
#include<iostream>
#include<cstdio>
using namespace std;
using namespace cv;
int main()
{
Mat src =imread("images/favorite/Lena.jpg");
Mat dst0, dst1;
logPolar(src, dst0,ws*0.5f, ls*0.5f),40, INTER_LINEAR|WARP_FILL_OUTLIERS);
//    linearPolar(src, dst1, ws*0.5f, ls*0.5f), 20, INTER_LINEAR|WARP_FILL_OUTLIERS);
imshow("logPolar", dst0);
//    imshow("linearPolar", dst1);
waitKey(0);
return0;
}

本文发布于:2024-09-21 18:50:50,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/380289.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:变换   透视   极坐标   仿射变换   成像   原理
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议