美文网首页
[OpenCV官方教程中文版-段力辉译]-python+open

[OpenCV官方教程中文版-段力辉译]-python+open

作者: 六千宛 | 来源:发表于2021-06-18 11:22 被阅读0次
    image.png
    # usr/bin/env python
    # coding: utf-8
    
    ##################### 对图像进行变换(旋转)
    # 2021年6月18日11:20:54
    import cv2
    import numpy as np
    
    # 这里说一下旋转的opencv中为旋转提供的三个要素
    # 旋转的中心点(center)
    # 旋转角度()
    # 旋转后进行放缩
    # 我们可以通过cv2.getRotationMatrix2D函数得到转换矩阵
    
    img = cv2.imread('cat.jpg')
    rows,cols,_ = img.shape
    
    matrix = cv2.getRotationMatrix2D((cols/2,rows/2),90,1)
    # 得到变换的矩阵,通过这个矩阵再利用warpAffine来进行变换
    # 第一个参数就是旋转中心,元组的形式,这里设置成相片中心
    # 第二个参数90,是旋转的角度
    # 第三个参数1,表示放缩的系数,1表示保持原图大小
    
    img1 = cv2.warpAffine(img,matrix,(cols,rows))
    
    cv2.imshow('img',img)
    cv2.imshow('img1',img1)
    
    
    ##################### 对图像进行变换(三点得到一个变换矩阵)
    # 我们知道三点确定一个平面,我们也可以通过确定三个点的关系来得到转换矩阵
    # 然后再通过warpAffine来进行变换
    
    img = cv2.imread('dog.jpg')
    rows,cols,_ = img.shape
    
    points1 = np.float32([[50,50],[200,50],[50,200]])
    points2 = np.float32([[10,100],[200,50],[100,250]])
    
    matrix = cv2.getAffineTransform(points1,points2)
    
    output = cv2.warpAffine(img,matrix,(cols,rows))
    
    cv2.imshow('input',img)
    cv2.imshow('output',output)
    
    
    ##################### 对图像进行变换(四点得到一个变换矩阵)
    # 进行透视变换
    # 可以先用四个点来确定一个3*3的变换矩阵(cv2.getPerspectiveTransform)
    # 然后通过cv2.warpPerspective和上述矩阵对图像进行变换
    
    img = cv2.imread('cat.jpg')
    rows,cols,_ = img.shape
    points1 = np.float32([[56,65],[368,52],[28,387],[389,390]])
    points2 = np.float32([[0,0],[300,0],[0,300],[300,300]])
    
    matrix = cv2.getPerspectiveTransform(points1,points2)
    # 将四个点组成的平面转换成另四个点组成的一个平面
    
    output = cv2.warpPerspective(img, matrix, (cols, rows))
    # 通过warpPerspective函数来进行变换
    
    cv2.imshow('img',img)
    cv2.imshow('output',output)
    cv2.waitKey()
    cv2.destroyAllWindows()
    

    相关文章

      网友评论

          本文标题:[OpenCV官方教程中文版-段力辉译]-python+open

          本文链接:https://www.haomeiwen.com/subject/icfcyltx.html