当前位置:网站首页>OpenCV 透视变换
OpenCV 透视变换
2022-08-03 12:49:00 【我今年十六岁】
目录
一:OpenCV透视变换的概念

仿射变换是图像基于3个固定顶点的变换,接下来学习的透视变换是4个固定顶点的变换
二:透视变换工作原理
透视变换(Perspective Transformation)的本质是将图像投影到一个新的视平面,其通用变换公式为:

(u,v)为原始图像像素坐标,(x=x’/w’,y=y’/w’)为变换之后的图像像素坐标。透视变换矩阵图解如下:

仿射变换(Affine Transformation)可以理解为透视变换的特殊形式。透视变换的数学表达式为:

所以,给定透视变换对应的四对像素点坐标,即可求得透视变换矩阵;反之,给定透视变换矩阵,即可对图像或像素点坐标完成透视变换,如下图所示:


三: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
)

四:warpPerspective函数
函数原型:
void warpPerspective(InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, const Scalar& borderValue=Scalar())
函数参数说明:
图中红点即为固定顶点,在变换先后固定顶点的像素值不变,图像整体则根据变换规则进行变换
同理,透视变换是图像基于4个固定顶点的变换,如图所示:

五:getPerspectiveTransform函数
函数原型:
C++方式一:Mat getPerspectiveTransform(InputArray src, InputArray dst)
C++方式二:Mat getPerspectiveTransform(const Point2f src[], const Point2f dst[])
函数参数说明:
src – 源图像中四边形顶点的坐标
dst – 目标图像中相应四边形顶点的坐标。
该函数计算透视变换的3乘3矩阵,以便实现以下计算:

边栏推荐
- [数据仓库]分层概念,ODS,DM,DWD,DWS,DIM的概念「建议收藏」
- nacos app
- Classes and objects (upper)
- [Practical skills] APP video tutorial for updating APP in CANFD, I2C, SPI and serial port mode of single-chip bootloader (2022-08-01)
- Free Internet fax platform fax _ don't show number
- Use %Status value
- 博客记录生活
- 自律成就自己
- 海外代购系统/代购网站怎么搭建——源码解析
- An动画基础之元件的影片剪辑动画与传统补间
猜你喜欢

Notepad++ 安装jsonview插件

期货开户中常见问题汇总

BOM系列之sessionStorage

Real number rounding and writing to file (C language file)

YOLOv5 training data prompts No labels found, with_suffix is used, WARNING: Ignoring corrupted image and/or label appears during yolov5 training

Image fusion DDcGAN study notes

An工具介绍之3D工具

业界新标杆!阿里开源自研高并发编程核心笔记(2022最新版)

基于php志愿者服务平台管理系统获取(php毕业设计)

An动画优化之补间形状与传统补间的优化
随机推荐
self-discipline
类型转换、常用运算符
便携烙铁开源系统IronOS,支持多款便携DC, QC, PD供电烙铁,支持所有智能烙铁标准功能
Golang 通道 channel
五、函数的调用过程
Byte's favorite puzzle questions, how many do you know?
PyTorch构建神经网络预测气温(数据集对比,CPU与GPU对比)
Blog records life
为冲销量下探中低端市场,蔚来新品牌产品定价低至10万?
Five, the function calls
可视化图表设计Cookbook
链游NFT元宇宙游戏系统开发技术方案及源码
Free Internet fax platform fax _ don't show number
【R】用grafify搞定统计绘图、方差分析、干预比较等!
Classes and objects (upper)
An工具介绍之3D工具
An动画优化之补间形状与传统补间的优化
Basic principle of the bulk of the animation and shape the An animation tip point
Jmeter使用
有趣的opencv-记录图片二值化和相似度实现