zoukankan      html  css  js  c++  java
  • 【python-opencv】几何变换

    """几何变换-缩放"""
    img = cv.imread(r'picturesfamily.jpg')
    """
    resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst
    dsize 是变换后图像尺寸,此处后面设定了fx fy缩放比例,故为dsize为None
    方式一
    """
    dst = cv.resize(img,dsize=None,fx=2,fy=2,interpolation=cv.INTER_CUBIC)
    """这里我们直接设置输出图像尺寸故不用缩放因子
    方式二"""
    h , w = img.shape[:2]
    src = cv.resize(img,(int(h/2),int(w/2)),interpolation=cv.INTER_CUBIC)
    
    cv.imshow('style1',dst)
    cv.imshow('style2',src)

     

    """几何变换-平移"""
    img = cv.imread(r'picturesapple.jpg')
    rows,cols ,chs= img.shape
    print(img.shape)
    #x轴平移100,y轴平移50M = np.float32([[1,0,100],[0,1,50]])
    dst = cv.warpAffine(img,M,(cols,rows))
    dst = cv.warpAffine(img,M,(cols,rows))
    cv.imshow('input_image',dst)

     

    img = cv.imread(r'picturesapple.jpg')
    rows,cols ,chs= img.shape
    print(img.shape)
    
    #这里第一个参数是旋转中心、第二个是旋转角度、第三个是缩放因子
    #可以通过设置旋转中心、缩放因子、以及窗口大小来防止旋转后超出边界问题
    M = cv.getRotationMatrix2D((cols/2,rows/2),45,1)
    dst = cv.warpAffine(img,M,(cols,rows))

    一般用透视变换的方法对图像进行矫正

  • 相关阅读:
    Rails生成随机字符串及加解密
    rails generate model/resource/scaffold的区别
    Rails generate的时候不生成assets和test
    rails delegate机制
    React Router V4发布
    react中创建组件的三种方法
    fetch的用法
    Ruby中map, collect,each,select,reject,reduce的区别
    Sublime Theme
    CentOS 升级Python3.X和pip3
  • 原文地址:https://www.cnblogs.com/XJT2018/p/9974927.html
Copyright © 2011-2022 走看看