当前位置:网站首页>opencv透视变化
opencv透视变化
2022-08-03 05:23:00 【纸鸢805】
1. 概念:
仿射变换(affine transform)与透视变换(perspective transform)在图像还原、图像局部变化处理方面有重要意义。通常,在2D平面中,仿射变换的应用较多,而在3D平面中,透视变换又有了自己的一席之地。两种变换原理相似,结果也类似,可针对不同的场合使用适当的变换。 仿射变换和透视变换的数学原理不需深究,在应用层面,仿射变换是图像基于3个固定顶点的变换。
2. findHomography函数 (找到两个平面之间的变换矩阵)
findHomography: 计算多个二维点对之间的最优单映射变换矩阵 H(3行x3列) ,使用最小均方误差或者RANSAC方法。函数功能:找到两个平面之间的变换矩阵。
参数:
Mat cv::findHomography ( InputArray srcPoints,
InputArray dstPoints,
int method = 0,
double ransacReprojThreshold = 3,
OutputArray mask = noArray(),
const int maxIters = 2000,
const double confidence = 0.995
)

实例:
//前方视图
vector<Point2f> objq;
objq.push_back(Point2f(0, 0));
objq.push_back(Point2f(700, 0));
objq.push_back(Point2f(430, 230));
objq.push_back(Point(265, 230));
//计算得到转换映射矩阵 3*3
Mat res = findHomography(obj,objq, CV_RANSAC);3. warpPerspective函数
void warpPerspective(InputArray src,
OutputArray dst, InputArray M,
Size dsize, int flags=INTER_LINEAR,
int borderMode=BORDER_CONSTANT,
const Scalar& borderValue=Scalar())
warpPerspective参数说明:
src – 输入图像 dst – 大小为dsize且类型与src相同的输出图像
M – 3×3变换矩阵 dsize – 输出图像的大小
//透视转换 上面的实例搭配使用
warpPerspective(img1, dst, res, dst.size());边栏推荐
猜你喜欢
随机推荐
【Arduino】关于“&”和“|” 运算-----多个参数运算结果异常的问题解决
BeanFactory和FactoryBean的区别
Django从入门到放弃三 -- cookie,session,cbv加装饰器,ajax,django中间件,redis缓存等
速来围观,17个运维实用技巧
`monorepo` 中 `hoist` 机制导致加载配置文件路径的变化
Sqli-labs-master靶场1-23关通关详细教程(基础篇)
3588. 排列与二进制
该描述怎么写成SQL语句
Oracle 密码策略详解
TypeError: Cannot read property ‘xxxx‘ of undefined的解决方法
【IDEA】字体修改-护眼主题-文件注释头设置
request.getParameter的结果为on
【Yarn】yarn常用命令 查看日志和Kill任务
Oracle 日历表详解(含节假日)
Gradle插件与代理服务器导致Sync Project失败的问题
Leetcode刷题——128. 最长连续序列
【DC-2靶场渗透】
The result of request.getParameter is on
Sqli-labs-master shooting range 1-23 customs clearance detailed tutorial (basic)
中国生物降解塑料行业市场运营态势及发展趋势研究报告2022~2028年









