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

news2024/11/23 12:09:34
  • 操作系统: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;
}

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2076871.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【超音速 专利 CN202110438812.4】广州超音速自动化科技股份有限公司

申请号CN202110438812.4公开号&#xff08;公开&#xff09;CN113390879A申请日2021.09.14申请人&#xff08;公开&#xff09;广州超音速自动化科技股份有限公司(833753)发明人&#xff08;公开&#xff09;张俊峰&#xff08;总); 罗国和; 陈夏 原文摘要 本发明公开了一种涂…

【上】王树森《搜索引擎技术》- 课程笔记(概要、相关性)

课程合集&#xff1a;ShusenWang的个人空间-ShusenWang个人主页-哔哩哔哩视频 (bilibili.com) 课件地址&#xff1a;GitHub - wangshusen/SearchEngine: 搜索引擎原理 目录 概要 1、搜索引擎的基本概念 曝光和点击 垂搜vs通搜 课程安排 2、决定搜索满意度的因素&#…

某音作品列表,视频列表

声明&#xff1a;文章仅用于学习交流,如有侵权请联系删除 今天分享下某音app作品列表采集方法&#xff0c;我只详细说一下大步骤&#xff0c;细节就不多说了&#xff0c;留着大家去试吧 我们通过Fiddler 快捷方式 配置好代理 打开抖音进行抓包&#xff0c;随便找个达人打开主…

喜羊羊让你Pyecharts快速上手(实例+代码)

以下内容&#xff0c;皆为原创&#xff0c;制作实属不易&#xff0c;感谢大家的关注和点赞。 一.Pyecharts是什么 具体网址&#xff1a;pyecharts - A Python Echarts Plotting Library built with love. Pyecharts 是一个用于生成 Echarts 图表的 Python 库。Echarts 是由百度…

行业级API集成案例,巩固你的知识

在当今高度互联的世界&#xff0c;企业依靠无缝数据交换和简化的工作流程蓬勃发展。API&#xff08;应用程序编程接口&#xff09;已成为实现这一目标的秘密武器&#xff0c;可实现各种应用程序之间的强大集成。本文深入探讨了不同行业中 API 集成的真实示例&#xff0c;让您更…

四、5 下标引用、函数调用、结构成员(操作符)

&#xff08;1&#xff09;下标引用 [ ] (2)函数调用 ( ) (3)结构成员

python setup.py build install的GCC版本报错

在进行一些python三方库编译的时候&#xff0c;有时候会因为环境中的GCC版本导致编译错误&#xff0c;比如在mmdet3d&#xff0c;mmcv-full等库的使用中。 Your compiler (g 4.8.5) may be ABI-incompatible with PyTorch! Please use a compiler that is ABI-compatible with …

windows虚拟机VMware共享文件

1、设置本机电脑共享目录 2、设置所有人可连接 3、记录共享文件夹路径 4、设置当前用户密码 5、在虚拟机内映射驱动 6、在虚拟机内添入路径 7、输入用户名和密码 8、链接成功

BaseCTF-web-Week1

写在前面&#xff1a; 题目类型还是比较全&#xff0c;也都是基础题型&#xff0c;适合刚入门 CTF 的萌新学习&#xff0c;我之前在学校实验室预备队招新赛中也有出过一些类似的基础题&#xff0c;欢迎大家参考。 SNERT预备队招新CTF体验赛-Web&#xff08;SWCTF&#xff09;ht…

ozon恢复产品,Ozon恢复销售在六月份暂时关闭的品类

在6月份&#xff0c;Ozon发布通知&#xff1a;《Ozon将限制中国卖家电子产品、汽车摩配、DIY工具的销售》今天&#xff0c;我们收到通知&#xff0c;6月被关闭的品类将被重新开放销售。 Ozon恢复销售在六月份暂时关闭的品类地址&#xff1a;m6z.cn/5H6fQR 6月份的消息一出&…

【卡码网C++基础课 13.链表的基础操作1】

目录 题目描述与分析一、指针二、链表三、定义链表节点四、链表的插入五、代码编写 题目描述与分析 题目描述&#xff1a; 构建一个单向链表&#xff0c;链表中包含一组整数数据。输出链表中的所有元素。 要求&#xff1a; 1.使用自定义的链表数据结构 2.提供一个 linkedList …

一篇精通Ansible之playbook

华子目录 前言playbook概念playbook结构理解playbook核心元素playbook特点与优势 playbook基本语法ansible-playbook命令ansible总结查看主机清单ansible配置文件单个play语法检测运行 多个play查看模块doc变量事实变量导入变量文件字典变量 机密数据管理在playbook中导入变量文…

PTA团体程序设计天梯赛

这次题目出得比前几次简单很多&#xff0c;但有几道题占用的时间太多&#xff0c;导致后面几题仓促写完&#xff0c;未能全部正确&#xff0c;还是得多练 目录 L1-2 九牛一毛 L1-3 小孩子才做选择&#xff0c;大人全都要 L1-5 试试手气 L1-6 打PTA L1-8 随机输一次 L2-…

QT5.15.2加载mysql驱动-QMYSQL driver not loaded解决方法

Available drivers: "QSQLITE" "QODBC" "QODBC3" "QPSQL" "QPSQL7" QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 源码下载&#xff08;若存在&#xff0…

029集—CAD VBA识别“Esc”退出键——vba代码实现

vba程序运行时我们想按下“Esc”键时退出程序或做出进一步相应&#xff0c; 此时可借助windows API函数实现。 见下图&#xff1a; 部分代码如下&#xff1a; #If VBA7 Then 64位系统声明Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)…

【C++从练气到飞升】16---二叉搜索树

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书&#x1f389; 目录 ⛳️推荐 一、二叉搜索树概念 二、二叉搜索树的操作 2.1 二叉搜索树的查找 2.2 二叉搜索树的插入 2.3 二叉…

Linux基础 - yum、rzsz、vim 使用与配置、gcc/g++的详细解说

目录 一、Linux 软件包管理器 yum A.什么是软件包&#xff1f; B.关于rzsz&#xff0c;yum的配置 1.安装 sz&#xff0c;rz 命令&#xff1a; a.执行命令sz可将linux中的文件传输到Windows中 b.执行rz命令可将Windows中的文件传输到linux 2.scp XXX.tgz 用户名另一台lin…

BCLinux Euler 21.10 安装mysql 8.0.37 (二进制安装)

下载mysql安装包 #根据ldd --version的信息&#xff0c; 下载的是glic 2.28的包。 下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 包名&#xff1a;mysql-8.0.37-linux-glibc2.28-x86_64.tar.xz#root用户操作 #系统环境&#xff1a;BigCloud Enterpri…

注册安全分析报告:助通信息

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

Python操作ES

代码说明&#xff1a; 连接 Elasticsearch&#xff1a;使用 basic_auth 参数进行认证。测试连接&#xff1a;获取集群的健康状态&#xff0c;并格式化输出结果。索引文档&#xff1a;将一个文档索引到指定的索引中&#xff0c;并格式化输出结果。搜索文档&#xff1a;在指定的…