zoukankan      html  css  js  c++  java
  • 二维图像坐标的平移与缩放

      之前工作上需要做一个这个小算法,我在网上查了下基本都是矩阵平移缩放旋转等原理讲解,比较复杂,但是我这里只平移和缩放不需要用矩阵,解出下面组方程的a、b、c、d就好了

      x=ax'+b

      y=cy'+d

    解这个方程需要两组对应点,下面直接给出带入求解结果:

      a = (p2.x - p1.x) / (float)(p_2.x - p_1.x);
      b = (p1.x*p_2.x - p2.x*p_1.x) / (float)(p_2.x - p_1.x);

      c = (p2.y - p1.y) / (float)(p_2.y - p_1.y);
      d = (p1.y*p_2.y - p2.y*p_1.y) / (float)(p_2.y - p_1.y);

    其中p1和p2是一组对应点,p_1和p_2是另一组,另外如果加上图像旋转的话方程就变成下面:  

      x = x'a-y'b+h
      y = x'c+y'd+k

    这个方程六个未知数所以需要三组点,而且这个方程直接解会比较麻烦可以用矩阵求得。

  • 相关阅读:
    Python 异常处理
    Python File(文件) 方法
    python 文件定位
    globals() 和 locals() 函数
    python dir()函数
    python from…import* 语句
    python from…import 语句
    Python 模块
    python 匿名函数
    python 函数参数
  • 原文地址:https://www.cnblogs.com/prophet-ss/p/8490230.html
Copyright © 2011-2022 走看看