两个坐标系进行了缩放平移后的变换关系
背景
我遇到的情况是这样的:
一幅图片上有若干个特征点,而这些点的坐标是基于该图片的坐标系(左上角为原点),我需要把这幅图片放置到窗口的某个范围(图片拉伸填充该范围),这个窗口有自己的坐标系,与图片的坐标系不同。因此该图片放置到这个窗口中某个范围后,图片中的特征点的坐标都发生了变换。目标就是求这个变换关系。
变换关系
实际上这是二维平面的坐标变换,由于只涉及到了缩放和平移,因此该变换可以写作
其中xwx_wxw, ywy_wyw是窗口坐标系下的坐标,xpx_pxp, ypy_pyp是图片坐标系下的坐标。
s1s_1s1, s2s_2s2, t0t_0t0, t1t_1t1 是这个变换的系数,分别对应缩放和平移,这4个系数需要根据图片范围,和图片所在窗口范围计算。
不失一般性地假设图片范围为xpo,ypo,wpo,hpo{x_{po}},{y_{po}}, {w_{po}}, {h_{po}}xpo,ypo,wpo,hpo。虽然图片原点一般为(0,0), 我们还是假设xpo,ypo{x_{po}},{y_{po}}xpo,ypo, 因为可能我们以后需要在一张大图片截取一部分嵌入到窗口中,这时xpo,ypo{x_{po}},{y_{po}}xpo,ypo就不是0了。
窗口的范围为xwo,ywo,wwo,hwo{x_{wo}},{y_{wo}}, {w_{wo}}, {h_{wo}}xwo,ywo,wwo,hwo
这时一个简单的解方程的问题,解得
两个坐标系进行了缩放平移后的变换关系相关推荐
- SLAM_旋转运动学_两个坐标系速度v和加速度a的关系
参考:深蓝学院VIO课程 1. 线速度与角速度定义 2. 两个坐标系下的速度v和加速度的关系 惯性系(静止的那个)与body坐标系(运动的那个)之间的旋转矩阵记为 R_IB, 则,两个坐标系下的速度, ...
- 3D坐标系中 点 的 平移、旋转和缩放
基础概念 矩阵 一个m*n矩阵 是 一个m行.n列的矩形数组. 如果一个矩阵只包含单行 或 单列, 这样的矩阵 为 行矩阵或 列矩阵,又叫行向量或列向量 矩阵的乘法: 点 空间中的点,我们通常用一个 ...
- 软件项目技术点(1)——d3.interpolateZoom-在两个点之间平滑地缩放平移
AxeSlide软件项目梳理 canvas绘图系列知识点整理 软件参考d3的知识点 我们在软件中主要用到d3.js的核心函数d3.interpolateZoom - 在两个点之间平滑地缩放平移.请 ...
- halcon窗体的移动和缩放_Halcon hWindowControl 鼠标缩放平移区域模板匹配绘制
如题所示标题,想同时表达两个意思:1:缩放平移绘制区域,2:创建模板匹配区域并保存.被一个技术问题卡住折腾了近大半天时间+熬夜2个小时,经过不懈努力,反复验证各参数意义,找到了问题的原因,终于攻克难题 ...
- 圆平移后的方程变化_1.1 直角坐标系中的平移变换与伸缩变换
1.1 直角坐标系中的平移变换与伸缩变换 目标:平移变换与伸缩变换的应用与理解 一 . 直角坐标系 1. 直线上, 取定一个点为原点, 规定一个长度为单位长度, 规定直线的 一个方向为正方向.这样我们 ...
- Android实现支持缩放平移图片
本文主要用到了以下知识点 Matrix GestureDetector 能够捕捉到长按.双击 ScaleGestureDetector 用于检测缩放的手势 自由的缩放 需求:当图片加载时,将图片在屏幕 ...
- 圆平移后的方程变化_平移法解题
提要 平面内把一个图形沿着一定的方向移动一定的距离得到另一个图形,这种变换称为平移变换.根据需要,平移的对象可以是线段,直线,角,圆,整个图形等.平移只改变图形的位置,不改变图形的形状和大小.平移前后 ...
- Android 手势检测实战 打造支持缩放平移的图片预览效果(下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39480503,本文出自:[张鸿洋的博客] 上一篇已经带大家实现了自由的放大缩小图 ...
- Unity3D使用鼠标旋转缩放平移视角
Unity使用鼠标旋转缩放平移视角 用代码在Game界面完美实现Scene界面的操作方法. 使用方法:把脚本挂在相机上,把跟踪的target拖到脚本上. 视角跟踪的是一个空物体,当然如果你是做RPG游 ...
最新文章
- BPDU tunnel技术简介
- js学习总结----获取数组最大值
- 全球最大的LoRaWAN智能路灯项目刚刚启动
- PHP 性能分析: Xhprof Xhgui
- 南京大学计算机考研分数线2021,南京大学2021年硕士研究生复试基本分数线
- .net md5 java 偏移量_C# java MD5加密方不一致问题
- python中if控制语句_Python中流程控制语句之IF语句
- python对于设计师有什么用-如果你有设计师朋友,请对他好一些...
- Spark:性能调优
- 怎样关闭eclipse中的tooltip提示
- spring5.0学习笔记3
- 真彩色与伪彩色的概念
- linux 运维工程师必备技能
- mysql报08S01的错误- SQL Error: 0, SQLState: 08S01 偶发
- nmap 扫描端口_Nmap端口规格和扫描顺序
- seata(二) 分布式事务框架seata1.3 AT及XA模式实例演示
- python系列——多进程之进程池(pool)
- AI遮天传 ML-回归分析入门
- mac安装配置zsh
- Jess的各种小问题