概要:

来源:http://www.learnopencv.com/homography-examples-using-opencv-python-c/

单应性变换就是一个平面到另一个平面的映射关系。

如图,两张图片中相同颜色的点叫做corresponding Points,比如两个红点就是一对corresponding points。单应性矩阵(Homography)就是一个从一张图像到另一张图像映射关系的转换矩阵(3*3)。可以由下面的公式来表示:

以图像中的红点为例,可以将单应性变换写成如下形式:

Python实现:


import cv2
import numpy as np
import pylab as plif __name__ == '__main__' :# Read source image.im_src = cv2.imread('book2.jpg')# Four corners of the book in source imagepts_src = np.array([[167.0, 264.0], [482.0, 798.0], [1079.0, 403.0],[613.0, 84.0]])# Read destination image.im_dst = cv2.imread('book1.jpg')# Four corners of the book in destination image.pts_dst = np.array([[193.0, 742.0],[996.0, 874.0],[1059.0, 157.0],[266.0, 145.0]])# Calculate Homographyh, status = cv2.findHomography(pts_src, pts_dst)# Warp source image to destination based on homographyim_out = cv2.warpPerspective(im_src, h, (im_dst.shape[1],im_dst.shape[0]))pl.figure(), pl.imshow(im_src[:, :, ::-1]), pl.title('src'),pl.figure(), pl.imshow(im_dst[:, :, ::-1]), pl.title('dst')pl.figure(), pl.imshow(im_out[:, :, ::-1]), pl.title('out'), pl.show()  #show dst 

结果:

单应性变换(Homography)相关推荐

  1. 【opencv学习】单应性变换Homography

    import cv2 import numpy as np import pylab as pltif __name__ == '__main__':# 读取原始图像im_src = cv2.imre ...

  2. 【python】图像映射:单应性变换与图像扭曲

    [python]图像映射:单应性变换与图像扭曲 单应性变换(Homography) 图像扭曲(仿射变换) 图中图 分段仿射扭曲 单应性变换(Homography) 单应性变换(Homography)即 ...

  3. 单应性(Homography)变换

    我们已经得到了像素坐标系和世界坐标系下的坐标映射关系: 其中,u.v表示像素坐标系中的坐标,s表示尺度因子,fx.fy.u0.v0.γ(由于制造误差产生的两个坐标轴偏斜参数,通常很小)表示5个相机内参 ...

  4. 利用单应性变换方法将自动驾驶汽车拍的照片变换为鸟瞰图

    为什么需要转换为鸟瞰图呢? 因为在检测车道线,需要根据车道线宽度设计合适的滤波器进行噪声剔除,因为车载相机拍出来的图片近处的车道线较宽而远处的车道线较窄,所以需要将图片转换为鸟瞰图.这是车载相机拍摄的 ...

  5. 单应性变换与仿射变换

    经典的仿射变换 初始来自于 ABB实习的项目:目前看有关于多帧去噪论文 Burst Image Deblurring,发现论文作者使用单应性变换进行多帧图片之间的粗对齐. 1.详细的总结性文章 知乎专 ...

  6. 【备忘】Homographic Adaptation 单应性变换

    单应性变换是将一个平面内的点映射到另一个平面内的二维投影变换. 应用 单应性在计算机视觉领域是一个非常重要的概念,它在图像校正.视角变换.图像拼接.增强现实.相机位姿估计.视觉SLAM等领域有非常重要 ...

  7. [计算机视觉] 一篇文章教你学会单应性矩阵Homography(Python/C++)

    0.国外原文链接 Homography examples using OpenCV ( Python / C ++ ) 1.什么是单应性? 考虑图中显示的平面.红点代表两个图像中的相同物理点.在计算机 ...

  8. 单应性矩阵Homography计算和优化

    单应性矩阵,是用来描述两个平面之间的变换关系,是一个3x3的齐次矩阵. 图上的4个绿色的圈,两两可以对应,H可以表达第一张图变换到第二张图的转换关系.具体的表达式: aaa表示尺度信息,h1−h9h_ ...

  9. Opencv学习笔记 透视变换/单应性变换

    1.透视变换概述 透视变换(Perspective Transformation),又称Homography Transformation. 在计算机视觉领域,空间中同一平面的任意两幅图像通过单应性关 ...

  10. 图像坐标空间变换:透视变换(Perspective Transformation),或称为单应性(Homography)变换

    文章目录 透视变换简介 预备知识 透视变换公式推导 投影 二维坐标向齐次坐标的变换 公式求解 例子:A4纸视角校正 原始图片和坐标变换模板 计算程序 结果 透视变换的限制 前向映射与后向映射矩阵不互逆 ...

最新文章

  1. Python 打印行列控制(API:pandas.set_option())
  2. 谷歌让AI芯片学会“下崽”,下一代TPU就让AI自己设计
  3. DL框架之Keras:深度学习框架Keras框架的简介、安装(Python库)、相关概念、Keras模型使用、使用方法之详细攻略
  4. Excel 2016双击无法打开文件的解决办法
  5. (67)Verilog HDL模块条件例化
  6. 使用SQL Server日志传送将SQL数据库移动到其他服务器
  7. 微信无法连接到服务器怎么诊断网络【微信高级教程3】
  8. logistic回归__基于Python和Numpy函数库
  9. javascript_core之正则、Math、Date
  10. mac安装ios和Android模拟器进行h5页面调试
  11. 虚拟化安全怎么做?靠安全设备虚拟化还是换个思路?
  12. K60的FTM的PWM、输入捕获、正交解码
  13. 二维码门禁的解决方案
  14. google authenticator python_谷歌验证器(Google Authenticator)
  15. android手机是否root,已经2017年了,安卓手机还需要Root吗?
  16. hdmi接口有什么用_路由器USB接口有什么用 路由器USB接口作用介绍【详解】
  17. Linux中处置挖矿病毒样本演示
  18. Hive常用函数介绍(窗口函数)
  19. H、Magic necklace
  20. Moore Voting

热门文章

  1. c# winform 窗体间的传值
  2. 洛谷 1583——魔法照片(排序Ex)
  3. [转]NVIDIA/ATI显卡后缀命名大盘点
  4. Tarjan+topsort(DP)【P3387】 [模板]缩点
  5. (转)Spring整合Jpa
  6. 狂人日记学习 之七 三列浮动中间列宽度自适应
  7. [导入]哪种图像格式最好?
  8. mac git 拉代码太慢或是拉不下来,可能是这个原因
  9. Spring Boot 面试,一个问题就干趴下了!(下)
  10. 在本地搭建hyperledger fabric 网络