Opencv几何变换之透视变换

今天我们要讲的东西与上一章差不过,上一章我们说的是仿射变换,这一章是透视变换

按照老套路来,

先来讲讲什么是透视变换,

透视变换就是,

我们来看图=。=

透视变换效果图

看到了吗,Input和Output的不同,

Output相比于Input更加的正当~

再上一个效果图

效果图,图片源自网络

了解了吧,就是这个意思

然后呢?

然后透视变换就跟仿射变换差不多,

透视函数要用

  1. 透视变换的函数,
  2. 4个坐标
  3. (cols,rows)是一个具体的坐标

 

这个是透视变换的函数

  • cv2.getPerpectiveTransform()

 

大家一定要掌握上一张所学,

才能搞懂这一章,

这一章我就不多说啥了,

我直接放代码。

# -*- coding:utf-8 -*-
"""
Created on Thu Feb 24 22:55:02 2017

@author: Y

"""

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('C:\Users\Administrator\Desktop\opencvimg\dave.jpg')
rows, cols, ch = img.shape

pts1 = np.float32([[28,32],[197,27],[14,206],[207,208]])
pts2 = np.float32([[0,0],[300,0],[0,300],[300,300]])

M = cv2.getPerspectiveTransform(pts1,pts2)

dst = cv2.warpPerspective(img,M,(300,300))

plt.subplot(121),plt.imshow(img),plt.title('Input')
plt.subplot(122),plt.imshow(dst),plt.title('Output')
plt.show()
#我没有释放窗口,大家可以自己加上

 

dave.jpg原图像给大家

 

Opencv几何变换这一章到这里就要结束了,我知道走到今天并不容易,所以希望大家珍惜一起努力的时光,我是Y,我真心希望大家可以学到东西,所以花费很多时间来经营,大家可以为网站的未来尽一份力,我希望更多的人看到,能有排名,如果有了解这方面知识的,我希望大家不吝赐教,可以邮箱与我联系。我的邮箱在About Me中,欢迎大家来信。晚安~