当前位置: 首页 > news >正文

OpenCV几何图像变换(6)计算反转仿射变换函数invertAffineTransform()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

反转一个仿射变换。
该函数计算由 2×3 矩阵 M 表示的逆仿射变换:
[ a 11 a 12 b 1 a 21 a 22 b 2 ] \begin{bmatrix} a_{11} & a_{12} & b_1 \\ a_{21} & a_{22} & b_2 \end{bmatrix} [a11a21a12a22b1b2]
结果也是一个 2×3 矩阵,与 M 同类型。
invertAffineTransform() 函数用于计算给定仿射变换矩阵的逆矩阵。仿射变换矩阵通常是一个 2×3 的矩阵,用于描述图像的平移、旋转、缩放等变换。此函数计算的逆变换矩阵可以用来撤销原始变换的效果。

函数原型


void cv::invertAffineTransform	
(InputArray 	M,OutputArray 	iM 
)		

参数

  • 参数M 原始的仿射变换
  • 参数iM 输出逆仿射变换。

代码示例


#include <opencv2/core.hpp>
#include <opencv2/opencv.hpp>// 函数声明
cv::Mat invertAffineTransform( const cv::Mat& M );int main()
{// 创建一个仿射变换矩阵cv::Mat M = ( cv::Mat_< double >( 2, 3 ) << 1, 0.5, 0, 0, 1.5, 0 );// 调用函数计算逆矩阵cv::Mat iM;cv::invertAffineTransform( M,iM );std::cout << "Original Affine Transformation Matrix:\n" << M << "\n";std::cout << "Inverse Affine Transformation Matrix:\n" << iM << "\n";return 0;
}

运行结果

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Springboot里集成Mybatis-plus、ClickHouse
  • PsConvertToGuiThread函数调用前传
  • 架构设计(4)面向服务架构SOA与C++模拟实现
  • [数据集][目标检测]建筑工地楼层空洞检测数据集VOC+YOLO格式2588张1类别
  • springboot密码加密步骤
  • 并发编程之----线程池ThreadPoolExecutor,Excutors的使用及其工作原理
  • Scrapy 分布式爬虫框架 Scrapy-Redis
  • 手撕顺序表
  • 无需多部备用机,云手机方便又便宜!
  • gptk是什么意思?Mac电脑如何在crossover里安装gptk2.0测试版?借助GPTK玩《原神》《黑神话悟空》游戏
  • 【算法】深入浅出聚类算法:原理、应用与Java实现
  • Spring Boot实战:通过Spring Cloud Sentinel实现流量控制
  • 代码随想录 刷题记录-17 贪心算法(2)习题
  • Unity--AnimationCurve动画曲线设置
  • 创建vue项目
  • 11111111
  • Android Studio:GIT提交项目到远程仓库
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Android框架之Volley
  • axios 和 cookie 的那些事
  • CEF与代理
  • Debian下无root权限使用Python访问Oracle
  • go append函数以及写入
  • iOS编译提示和导航提示
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Java|序列化异常StreamCorruptedException的解决方法
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • ng6--错误信息小结(持续更新)
  • October CMS - 快速入门 9 Images And Galleries
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • WinRAR存在严重的安全漏洞影响5亿用户
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 从零开始在ubuntu上搭建node开发环境
  • 回顾2016
  • 警报:线上事故之CountDownLatch的威力
  • 系统认识JavaScript正则表达式
  • 用mpvue开发微信小程序
  • 云大使推广中的常见热门问题
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • const的用法,特别是用在函数前面与后面的区别
  • ionic入门之数据绑定显示-1
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • #QT 笔记一
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (3) cmake编译多个cpp文件
  • (C++20) consteval立即函数
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (南京观海微电子)——COF介绍
  • (四) 虚拟摄像头vivi体验
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .“空心村”成因分析及解决对策122344