二维图像坐标的平移与缩放


  之前工作上需要做一个这个小算法,我在网上查了下基本都是矩阵平移缩放旋转等原理讲解,比较复杂,但是我这里只平移和缩放不需要用矩阵,解出下面组方程的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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM