homography单应性

2024-04-20 01:38
文章标签 homography 单应性

本文主要是介绍homography单应性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概要:

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

 

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


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


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


Python实现:


[python]  view plain copy
  1. import cv2  
  2. import numpy as np  
  3. import pylab as pl  
  4.    
  5. if __name__ == '__main__' :  
  6.       
  7.    
  8.     # Read source image.  
  9.     im_src = cv2.imread('book2.jpg')  
  10.     # Four corners of the book in source image  
  11.     pts_src = np.array([[167.0264.0], [482.0798.0], [1079.0403.0],[613.084.0]])  
  12.    
  13.    
  14.     # Read destination image.  
  15.     im_dst = cv2.imread('book1.jpg')  
  16.     # Four corners of the book in destination image.  
  17.     pts_dst = np.array([[193.0742.0],[996.0874.0],[1059.0157.0],[266.0145.0]])  
  18.    
  19.     # Calculate Homography  
  20.     h, status = cv2.findHomography(pts_src, pts_dst)  
  21.        
  22.     # Warp source image to destination based on homography  
  23.     im_out = cv2.warpPerspective(im_src, h, (im_dst.shape[1],im_dst.shape[0]))  
  24.        
  25.     pl.figure(), pl.imshow(im_src[:, :, ::-1]), pl.title('src'),  
  26.     pl.figure(), pl.imshow(im_dst[:, :, ::-1]), pl.title('dst')  
  27.     pl.figure(), pl.imshow(im_out[:, :, ::-1]), pl.title('out'), pl.show()  #show dst   
结果:

这篇关于homography单应性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918980

相关文章

Homography单应矩阵

在计算机视觉中,平面的单应性被定义为一个平面到另外一个平面的投影映射。因此一个二维平面上的点映射到摄像机成像仪上的映射就是平面单应性的例子。如果点Q到成像仪上的点q的映射使用齐次坐标,这种映射可以用矩阵相乘的方式表示。若有一下定义: 则可以将单应性简单的表示为: 这里引入参数s,它是任意尺度的比例(目的是使得单应性定义到该尺度比例)。通常根据习惯放在H的外面。

opencv-Features2D+Homography to find a known object

官方地址#include <stdio.h>#include <iostream>#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/features2d.hpp"#include "opencv2/highgui.hpp"#include "opencv2/calib3d.hpp"

单应性矩阵

一.二维中的单应性矩阵 单应性矩阵与射影矩阵基本是一回事,都有8个自由度,摄影矩阵是从二维平面的操作。单应性矩阵可以看成从二维的操作到三维操作的一个过度。单应性变换又称为射影变换或者透视变换,有很多的叫法。单应性矩阵就是个3*3的矩阵。单应性矩阵(H)可以描述两个图片之间的变换,可以进行图片的拼接  或者    这里H是单应性矩阵,可以从一个图像把每一个像素变换到另一个图像平面,这样就可以进

摄像机模型与标定——单应性

转载:http://blog.csdn.net/gdut2015go/article/details/48250757 在计算机视觉中,平面的单应性被定义为一个平面到另外一个平面的投影映射。因此一个二维平面上的点映射到摄像机成像仪上的映射就是平面单应性的例子。如果点Q到成像仪上的点q的映射使用齐次坐标,这种映射可以用矩阵相乘的方式表示。若有一下定义: 这里引入参数s,它是任意尺度

图像拼接——基于homography的特征匹配算法

目录 1. 任务要求2. 数据集3. 基于homography的特征匹配算法4. 拼接流程展示4.1 图片实例4.2 特征点位图4.3 特征点匹配结果4.4 相机校准结果4.5 拼接结果 5. 部分图像拼接结果展示 1. 任务要求 输入:同一个场景的两张待拼接图像(有部分场景重合)。任务:从输入的两张图像中提取特征点和描述子,可以使用现有的图像处理库来执行此任务。自己实现

【图像拼接/深度单应估计】论文精读:Content-Aware Unsupervised Deep Homography Estimation

第一次来请先看这篇文章:【图像拼接(Image Stitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新) 图像拼接系列相关论文精读 Seam Carving for Content-Aware Image ResizingAs-Rigid-As-Possible Shape ManipulationAdaptive As-Natural-As

从Homography矩阵得到旋转和平移量(From Homography to Rotation and Translation)

最近在做机器人导航项目,于是就顺手在OpenCV里面将以前看过但是不太理解的从Homography求Rotation和Translation实现了一下 代码如下:   int calcRTfromHomo(CvMat* H, double t[3], double rodrot[3]){double r[9];CvMat _r = cvMat(3, 3, CV_64F, r); //